Apache与asp.net整合

弄完了apache与tomcat整合,试着弄这个。。。呵呵,费了一些气力,终于还是成功了。
网上本来不少这样的材料,但大多言简而不意赅,不知所以然,往往不能灵活变通。
所以记录一下,以备今后用时温习。。。

【准备】

Apache的Asp.net模块已经从Apache的模块家族中独立出来了,目前可以在下面的地方找到
http://sourceforge.net/projects/mod-aspdotnet
点击Download,在打开的页面中注意对应Apache的版本下载(For Apache2.0 或 Apache2.2)

注意:需要MS的.Net Framework支持,所以如果系统里没有应该先安装之。

【安装】

我的系统是Window2003(虽然下载页面没有写支持2003),
点击安装后,可能需要多等一会儿。选择Apache存放的路径(也即modules的父目录),安装程序会把mod_aspdotnet.so拷贝到modules中。

【配置】

这里正是出了些差错的地方。
一般情况下,用Apache绝对不会是想纯粹只用Asp.net的,多半是想局部使用一些.Net小程序而已。当然,也可以配置只使用Asp.net,只是配置的小变化而已。

这里是按完全使用Asp.net配置的,成功运行。
如果需要只是局部使用,可按注释中说明修改(没试过,但网上大多数资料都是针对这种情况)。
另外,配置也可以支持虚拟主机,只要把<IfModule ...></IfModule>的部分放在虚拟主机配置段中即可。

代码:

  1. # asp.net 支持   
  2. # 这2条配置属于全局,可放在其它响应 LoadModule/AddHandler 语句块后   
  3. # 我的配置中,下面整个配置块是放在最后,未分开   
  4. LoadModule aspdotnet_module modules/mod_aspdotnet.so   
  5. AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo    
  6.   
  7. # 下面的整段配置可以放在虚拟主机中   
  8. <IfModule mod_aspdotnet.cpp>   
  9.   
  10. # Mount the ASP.NET example application   
  11. # AspNetMount 语句相当于 Linux 中的 mount 命令,是把Asp程序目录挂载到一个 URL 地址   
  12. # 如果不是整个网站都用Asp,则不应该挂在‘/’下。如:AspNetMount /asptool "D://www//Apache2//htdocs//aspweb"  
  13. # 注意:整站采用时,全局的DocumentRoot 为 "D:/www/Apache2/htdocs/aspweb"  
  14. AspNetMount / "D://www//Apache2//htdocs//aspweb"  
  15.   
  16. # Map all requests for /active to the application files   
  17. # 意思是把所有到‘/asptool’的请求映射到挂载的Asp程序目录下   
  18. # 我的配置中,下面一句是注释掉的。   
  19. #Alias /asptool "D://www//Apache2//htdocs//aspweb"  
  20.   
  21. # Allow asp.net scripts to be executed in the active example   
  22. <Directory "D:/www/Apache2/htdocs/aspweb">   
  23.     Options FollowSymlinks ExecCGI   
  24.     Order allow,deny   
  25.     Allow from all   
  26.     DirectoryIndex default.htm default.aspx index.html   
  27. </Directory>   
  28. # For all virtual ASP.NET webs, we need the aspnet_client files   
  29. # to serve the client-side helper scripts.   
  30.   
  31. # 注意:下面两行需要对应.Net Framework安装的目录   
  32. AliasMatch /aspnet_client/system_web/(/d+)_(/d+)_(/d+)_(/d+)/(.*) "C:/WIN2003/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"  
  33.   
  34. <Directory "C:/WIN2003/Microsoft.NET/Framework/v*/ASP.NETClientFiles">   
  35.     Options FollowSymlinks   
  36.     Order allow,deny   
  37.     Allow from all   
  38. </Directory>   
  39.   
  40. </IfModule>   
  41. # asp.net 支持 End.  

目录地址(aspweb)可以与挂载名称(asptool)不一样,如果这样设置,就需要Alias /asptool 到程序目录
如果两者名称一样,可以省掉Alias。如:AspNetMount /aspweb  "[yourpath]//aspweb"
注意:访问Asp.net只能通过挂载的URL地址才行!其它文件无此限制。
另外,如果是NTFS文件系统,注意下访问权限。

 来自:http://blog.sina.com.cn/s/blog_5e4ba2c90100fhib.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值