Apache根目录运行.net网站

以前发布.net网站程序都用IIS,听说Apache也不错,今天特地装上软件一试。

1、下载Apache服务器软件:http://httpd.apache.org/download.cgi,下载.net插件:http://sourceforge.net/projects/mod-aspdotnet/

2、默认安装Apache,域名邮箱随便填,其中有一项提示80端口或8080端口,默认80就行,等安装完了再改,默认安装.net插件

3、用记事本打开C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf文件,查找“Listen 80”,替换成“Listen 8090",其它端口也行

4、在httpd.conf文件末尾加入以下代码:

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

AspNetMount /sample "C:/Sample"

Alias /sample "C:/Sample"

<Directory "C:/Sample">

Options FollowSymlinks ExecCGI

Order allow,deny

Allow from all

DirectoryIndex index.htm index.aspx default.aspx

</Directory>

AliasMatch /aspnet_client/system_web/(/d+)(/d+)[u](/d+)[/u](/d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"

<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">

Options FollowSymlinks

Order allow,deny

Allow from all

</Directory>

5、启动Apache服务,在程序菜单”Apache HTTP Server 2.X“-->"Control Apache Server"-->"Start",正常启动后任务管理器应该有个httpd.exe,也可以通过netstat -ao命令查看Apache8090端口

6、在C:\Sample目录放入你的网站,输入:http://localhost:8090/sample/default.aspx即可。

以上是在Apache上创建虚拟目录的方法,网上大都是这样介绍的,我自己摸索了在根目录运行.net网站的方法,只需改动几个地方即可。

1、 搜索httpd.conf文件中这个目录"C:/Program Files/Apache Software Foundation/Apache2.2/htdocs",应该有两处,将默认目录替换成"C:/Sample"

2、 将 AspNetMount /sample "C:/Sample"Alias /sample "C:/Sample" 两句改成 AspNetMount / "C:/Sample"

3、重启Apache(有时候点程序菜单的Restart不行,需要Stop再Start),大功告成

如果你的网站使用了Treeview,那么图片会显示叉号,解决办法就是在网站根目录建一个空的命名为WebResource.axd的文件。

如果在使用中还有其他问题,欢迎共同探讨。