您的位置:首页 > 运维架构 > Apache

apache 支持asp.net

2011-01-06 14:19 351 查看
首先虽然是使用apache ,但要支持asp.net ,只能在windows 平台上安装,我的环境是

windows xp

首先得安装
dotNetFramework
说实话我是最近才接触.net ,所以很多概念还不懂,例如 这里的dotNetFramework
但是我安装了Vistual Studio 2008
,所以默认已经把这个东西装上了,
你可以检查一下C:/WINDOWS/Microsoft.NET/Framework 目录是不是存在,里面是不是有
像v2.0.50727 这种v+数字的目录,如果有的话,说明已经安装上了,网上找了个网址
http://download.microsoft.com/download/7/b/9/7b90644d-1af0-42b9-b76d-a2770319a568/dotnetfx.exe

但不保有证, 就是所谓的dotNetFramework

httpd-2.2.15-win32-x86-no_ssl.msi

mod_aspdotnet-2.2.0.2006-setup-r2.msi

Apache的Asp.net模块已经从Apache的模块家族中独立出来了,目前可以在下面的地方找到

http://sourceforge.net/projects/mod-aspdotnet

点击Download,在打开的页面中注意对应Apache的版本下载(For Apache2.0 或 Apache2.2


我下得是2.2版的,

然后就是依次安装

httpd-2.2.15-win32-x86-no_ssl.msi

mod_aspdotnet-2.2.0.2006-setup-r2.msi

了.

装完httpd-2.2.15-win32-x86-no_ssl.msi

打开http://localhost/

出现it works !字样 ,说明apache 安培成功,下一步就是关于asp.net 的配置了

安装mod_aspdotnet

mod_aspdotnet-2.2.0.2006-setup-r2.msi ,其间会让你选择apache的安装目录,

然后配置apache-/conf/httpd.conf 文件,在文件最后添加以下内容

# 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 /asp "c:/Program_/apache2/htdocs/asp"
# 注意:整站采用时,全局的DocumentRoot 为 "c:/Program_/apache2/htdocs/asp"
#这一句是说如果你访问http://localhost/asp/ ,实际是访问
#"c:/Program_/apache2/htdocs/asp"
AspNetMount /asp "c:/Program_/apache2/htdocs/asp"

# Map all requests for /active to the application files
# 意思是把所有到‘/asptool’的请求映射到挂载的Asp程序目录下
# 我的配置中,下面一句是注释掉的.
#就是起了个别名
#如果没注释掉,说明访问
#http://localhost/asp2/check.aspx
#与http://localhost/asp/check.aspx 访问的是同一个文件
#Alias /asp2 "c:/Program_/apache2/htdocs/asp"

# Allow asp.net scripts to be executed in the active example
<Directory "c:/Program_/apache2/htdocs/asp">
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安装的目录
#xp 上一般对应c:/windows/Microsoft.net/下面的相应目录
#另外除了正反正反斜线外,最好字母的大小写与你路径的大小写一致,
#apache有些地方是区分大小写的(这个刚接触也不是非常清楚)
#另外windows 上路径是用"/"区分的,而配置文件中都把它写成了"/"
#"c:/Program_/apache2/htdocs/asp" 与"c://Program_//apache2//htdocs//asp"等价
AliasMatch /aspnet_client/system_web/(/d+)_(/d+)_(/d+)_(/d+)/(.*) "C:/WINDOWS/Microsoft.NET/Framework/v$1.$2.$3/ASP.NET*Files/$4"

<Directory "C:/WINDOWS/Microsoft.NET/Framework/v*/ASP.NET*Files">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>

</IfModule>
# asp.net 支持 End.












注意配置文件中的注释,有些路径需要你做些调整

测试aspx 是否工作的一个文件

解压开这个文件,把它放到

c:/Program_/apache2/htdocs/asp/目录下,重启apache

访问http://localhost/asp/check.aspx,如果页面正学显示,则说明支持asp.net 了

#=================================无格式的,便于复制

# 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 /asp "c:/Program_/apache2/htdocs/asp"

# 注意:整站采用时,全局的DocumentRoot 为 "c:/Program_/apache2/htdocs/asp"

#这一句是说如果你访问http://localhost/asp/ ,实际是访问

#"c:/Program_/apache2/htdocs/asp"

AspNetMount /asp "c:/Program_/apache2/htdocs/asp"

# Map all requests for /active to the application files

# 意思是把所有到‘/asptool’的请求映射到挂载的Asp程序目录下

# 我的配置中,下面一句是注释掉的.

#就是起了个别名

#如果没注释掉,说明访问

#http://localhost/asp2/check.aspx

#与http://localhost/asp/check.aspx 访问的是同一个文件

#Alias /asp2 "c:/Program_/apache2/htdocs/asp"

# Allow asp.net scripts to be executed in the active example

<Directory "c:/Program_/apache2/htdocs/asp">

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安装的目录

#xp 上一般对应c:/windows/Microsoft.net/下面的相应目录

#另外除了正反正反斜线外,最好字母的大小写与你路径的大小写一致,

#apache有些地方是区分大小写的(这个刚接触也不是非常清楚)

#另外windows 上路径是用"/"区分的,而配置文件中都把它写成了"/"

#"c:/Program_/apache2/htdocs/asp" 与"c://Program_//apache2//htdocs//asp"等价

AliasMatch /aspnet_client/system_web/(/d+)_(/d+)_(/d+)_(/d+)/(.*) "C:/WINDOWS/Microsoft.NET/Framework/v$1.$2.$3/ASP.NET*Files/$4"

<Directory "C:/WINDOWS/Microsoft.NET/Framework/v*/ASP.NET*Files">

Options FollowSymlinks

Order allow,deny

Allow from all

</Directory>

</IfModule>

# asp.net 支持 End.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: