如何让Apache支持ASP与ASP.NET
上一篇 / 下一篇 2010-12-16 11:35:22 / 个人分类:服务器
前言:本人用了phpnow、apm、WampServer等大部分集成Apache、php、mysql的软件,想完全的支持asp,都没有做成功,但是有相关的资料,和大家分享。有一个插件ActiveHTML支持asp,但是我试了,也不好用,总之太麻烦了,所以后来还是用的IIS+php+mysql(请看我的本分类中的另一篇文章)。如果不使用asp当然就非常容易了,而且很好用,但是我还是想使用asp,折腾了一天多,还是没戏,能运行,但是有的只支持一个asp网站,有的有其它问题,郁闷啦!不玩了!如果哪位高手有好的方法使之完美支持asp,请告知,不胜感激!
注解:
本文是基于WampServer 2.X套件讨论的,但适用于所有的Apache。其实我们也只是对WampServer中的Apache模块做了修改,使其能够支持ASP/ASP.NET。本文中Apache版本为2.2.8,WampServer 的目录地址为D:\wamp\ 。文中提及的配置文件.conf 及其mod,ActiveHTML,于文末提供下载。
ASP.NET
让Apache支持ASP.NET比较简单,使用apache.org里提供的mod_aspdotnet即可。地址是:http://httpd.apache.org/modules/ 。
说一下配置:首先下载mod_aspdotnet 。然后将其mod_aspdotnet.so释放到apache的/modules/ ,如D:\wamp\bin\apache\apache2.2.8\modules 。然后,我们需要建立一个mod_aspdotnet 单独的配置文件.conf,如httpd-aspdotnet.conf,写好后放入apache的/conf/extra/中,这样比较规范。httpd-aspdotnet.conf,如下
XML/HTML代码
1. # Loadasp.netmodule
2. LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
3.
4. # Setasp.netextensions
5. AddHandlerasp.netasax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
6.
7. # 其中"D:/wamp/www/aspx" 为我们的ASPX的文件的目录。需自己修改。:)
8. <IfModule mod_aspdotnet.cpp>
9. # Mount theASP.NET/ASP application
10. AspNetMount /ASP "D:/wamp/www/aspx"
11.
12. # Map all requests for /ASP to the application files
13. Alias /ASP "D:/wamp/www/aspx"
14.
15. # Allowasp.netscripts to be executed in the /ASP folder
16. <Directory "D:/wamp/www/aspx">
17. # Setasp.netoptions
18. Options Indexes FollowSymLinks Includes +ExecCGI
19. # Setasp.netpermissions
20. Order allow,deny
21. Allow from all
22. # Setasp.netdefault index page to .aspx and .htm
23. DirectoryIndex index.aspx index.htm
24. </Directory>
25.
26. # Set aspnet_client files to serve the client-side helper scripts. 这里为我们的ASP.NET_Framework的安装地址,需自己修改。
27. AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/WINDOWS/Microsoft.NET/Framework/v3.5/ASP.NETClientFiles/$4"
28. <Directory "C:/WINDOWS/Microsoft.NET/Framework/v3.5/ASP.NETClientFiles">
29. Options FollowSymlinks
30. Order allow,deny
31. Allow from all
32. </Directory>
33. </IfModule>
这样写好httpd-aspdotnet.conf后放入apache的/conf/extra/中,然后修改apache的主配置文件,/conf/httpd.conf 在其中适当位置加入代码
XML/HTML代码
1. #ASP.net,写在httpd.conf 最后适当的位置。 只是为了规范。
2. Include conf/extra/httpd-aspdotnet.conf
然后,重启apache,现在/www/aspx/目录已经可以解析.aspx文件了。:)
ASP
让Apache完美的支持asp,目前网上也没有好的解决办法,很多东西都还是商业的,以前有个mod可以用,但只能用在apache1.X上,很老的东西了。 我找寻了很久也没有免费的解决办法。无意间得知phpnow有个插件可以支持asp,马上下载下来玩了一下,终于成功让这个插件脱离phpnow,使其支持任意的Apache。其实phpnow也是提取了试用版的ActiveHTML,效果还不错,我比较满意。
过程如下:首先下载这个phpnow版的ActiveHTML,释放在一个适合的位置,如D:\wamp\bin\ActiveHTML\ ,ActiveHTML需要注册几个.dll,进入CMD在ActiveHTML目录,执行如下命令
XML/HTML代码
1. # 进入CMD在ActiveHTML目录,执行如下命令
2. regsvr32.exe /s slASP3.dll
3. regsvr32.exe /s slDispatch.dll
4. regsvr32.exe /s MSXML4.dll
5. regsvr32.exe /s MSXML4R.dll
然后,同样的我们需要为ActiveHTML写一个配置文件.conf,如httpd-ahtml.conf,如下
XML/HTML代码
1. ##################################################
2. # Uncomment the following lines if you want
3. # to use Authorization environment-variables
4. # You may implement you own user
5. # authentication using LOGON_USER and
6. # LOGON_PASSWORD in your scripts (Login.asp)
7. ##################################################
8. LoadModule rewrite_module modules/mod_rewrite.so
9. RewriteEngine On
10. RewriteCond %{HTTP:Authorization} ^(.*)$ [NC]
11. RewriteRule /.* - [E=HTTP_AUTHORIZATION:%1]
12. ##################################################
13.
14. # Supports Imagemaps
15. AddHandler imap-file map
16.
17. ##################################################
18. # Do not allow access to global.asa
19. ##################################################
20. <Files ~ "global.asa">
21. Order allow,deny
22. Deny from all
23. Satisfy All
24. </Files>
25.
26.
27. ##################################################
28. # Add ActiveHTML-Handler 其中”D:/wamp/bin/ActiveHTML“ 为ActiveHTML释放的目录,需自己修改。
29. ##################################################
30. ScriptAlias /asp_bin "D:/wamp/bin/ActiveHTML"
31. Action ActiveHTML "/asp_bin/AHTML.exe"
32. AddHandler ActiveHTML .asp
33. DirectoryIndex index.asp default.asp
34.
35.
36. ##################################################
37. # Add Sampledirectory Alias 其中"D:/wamp/www/asp/"为asp文件所在的目录,需自己修改。
38. ##################################################
39. <Directory "D:/wamp/bin/ActiveHTML">
40. Options Indexes MultiViews FollowSymLinks
41. AllowOverride None
42. Order allow,deny
43. Allow from all
44. </Directory>
45.
46. Alias /asp/ "D:/wamp/www/asp/"
47. <Directory "D:/wamp/www/asp/">
48. Options Indexes MultiViews FollowSymLinks
49. AllowOverride all
50. Order allow,deny
51. Allow from all
52. </Directory>
同样的,在apache的主配置文件httpd.conf 里适当的位置加入代码
XML/HTML代码
1. # ASP ,写在httpd.conf 最后适当的位置。 只是为了规范。
2. Include conf/extra/httpd-ahtml.conf
然后,重启apache,现在/www/asp/目录已经可以解析.asp文件了。:)
PS
文中提及的配置文件.conf 及其mod,ActiveHTML,下载:extra.rar
其它的方法:
==================Apache支持ASP===================
前言:
好多人都在寻找apache下支持asp的方法,有的无非要建两个端口,通过代理实现支持asp,执行效率不是太好,现在终于有一种新的办法,通过模块实现支持asp,简单,直接.其实这个方法以前就有过,不过说的很含糊,很多地方需要更正,而且年久失传,原有的地址都找不到了,我翻遍了搜索引擎,终于在一个台湾的论坛找到了那个组件,自己亲自调试了下,现在把自己的成功经验与落伍的兄弟们分享.
①首先下载一个组件,这个是关键,也就是好多人寻找的东西
下载:http://mis.enc.hlc.edu.tw/upload/files/openasp-b1-win32.zip
②下载完apasp.DLL后,放置在apahce的modules文件夹,在httpd.conf的最下面(一定要在最下面,不然就没效果了)加入这一行:
LoadModule asp_module modules/apasp.DLL
③在httpd.conf中 <IfModule mod_mime.c>和</IfModule>之间的某个合适位置加入
AddType text/x-asp .asp
其实最好在AddType application/x-httpd-php .php下方加入,这样apache就能解释asp扩展名的文件了.
重新启动下apache,放个探针试下,是不是支持asp了?是不是很简单?
我的apache版本是1.33,这个组件好象只支持1.3的版本.
TAG:
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | ||||||
5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
26 | 27 | 28 | 29 | 30 | 31 |
我的存档
数据统计
- 访问量: 15812
- 日志数: 32
- 建立时间: 2008-09-07
- 更新时间: 2010-12-16