浏览 3508 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-17
网上本来不少这样的材料,但大多言简而不意赅,不知所以然,往往不能灵活变通。 所以记录一下,以备今后用时温习。。。 【准备】 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>的部分放在虚拟主机配置段中即可。 # asp.net 支持 # 这2条配置属于全局,可放在其它响应 LoadModule/AddHandler 语句块后 # 我的配置中,下面整个配置块是放在最后,未分开 LoadModule aspdotnet_module modules/mod_aspdotnet.so AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo # 下面的整段配置可以放在虚拟主机中 <IfModule mod_aspdotnet.cpp> # Mount the ASP.NET example application # AspNetMount 语句相当于 Linux 中的 mount 命令,是把Asp程序目录挂载到一个 URL 地址 # 如果不是整个网站都用Asp,则不应该挂在‘/’下。如:AspNetMount /asptool "D:\\www\\Apache2\\htdocs\\aspweb" # 注意:整站采用时,全局的DocumentRoot 为 "D:/www/Apache2/htdocs/aspweb" AspNetMount / "D:\\www\\Apache2\\htdocs\\aspweb" # Map all requests for /active to the application files # 意思是把所有到‘/asptool’的请求映射到挂载的Asp程序目录下 # 我的配置中,下面一句是注释掉的。 #Alias /asptool "D:\\www\\Apache2\\htdocs\\aspweb" # Allow asp.net scripts to be executed in the active example <Directory "D:/www/Apache2/htdocs/aspweb"> Options FollowSymlinks ExecCGI Order allow,deny Allow from all DirectoryIndex default.htm default.aspx index.html </Directory> # For all virtual ASP.NET webs, we need the aspnet_client files # to serve the client-side helper scripts. # 注意:下面两行需要对应.Net Framework安装的目录 AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/WIN2003/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4" <Directory "C:/WIN2003/Microsoft.NET/Framework/v*/ASP.NETClientFiles"> Options FollowSymlinks Order allow,deny Allow from all </Directory> </IfModule> # asp.net 支持 End. 当时没注意理解Mount和Alias,所以暂时性的晕了一下。呵呵 目录地址(aspweb)可以与挂载名称(asptool)不一样,如果这样设置,就需要Alias /asptool 到程序目录 如果两者名称一样,可以省掉Alias。如:AspNetMount /aspweb "[yourpath]\\aspweb" 注意:访问Asp.net只能通过挂载的URL地址才行!其它文件无此限制。 另外,如果是NTFS文件系统,注意下访问权限。 (只能用于Asp.net程序,不能用在asp程序上) 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |