25Sep

如何让Apache支持ASP/ASP.NET

时间: 2009-9-25 分类: 技术男 作者: robins 1646 次浏览

    0X01    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,如下


# Load asp.net module
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"

# Set asp.net extensions
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo

# 其中”D:/wamp/www/aspx” 为我们的ASPX的文件的目录。需自己修改。:)

# Mount the ASP.NET /ASP application
AspNetMount /ASP “D:/wamp/www/aspx”

# Map all requests for /ASP to the application files
Alias /ASP “D:/wamp/www/aspx”

# Allow asp.net scripts to be executed in the /ASP folder

# Set asp.net options
Options Indexes FollowSymLinks Includes +ExecCGI
# Set asp.net permissions
Order allow,deny
Allow from all
# Set asp.net default index page to .aspx and .htm
DirectoryIndex index.aspx index.htm

# Set aspnet_client files to serve the client-side helper scripts. 这里为我们的ASP.NET_Framework的安装地址,需自己修改。
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) “C:/WINDOWS/Microsoft.NET/Framework/v3.5/ASP.NETClientFiles/$4”

Options FollowSymlinks
Order allow,deny
Allow from all

这样写好httpd-aspdotnet.conf后放入apache的/conf/extra/中,然后修改apache的主配置文件,/conf/httpd.conf 在其中适当位置加入代码


# ASP.net ,写在httpd.conf 最后适当的位置。 只是为了规范。
Include conf/extra/httpd-aspdotnet.conf

然后,重启apache,现在/www/aspx/目录已经可以解析.aspx文件了。:)

0X02 ASP

让Apache完美的支持asp,目前网上也没有好的解决办法,很多东西都还是商业的,以前有个mod可以用,但只能用在apache1.X上,很老的东西了。 我找寻了很久也没有免费的解决办法。无意间得知phpnow有个插件可以支持asp,马上下载下来玩了一下,终于成功让这个插件脱离phpnow,使其支持任意的Apache。其实phpnow也是提取了试用版的ActiveHTML,效果还不错,我比较满意。

过程如下:首先下载这个phpnow版的ActiveHTML,释放在一个适合的位置,如D:\wamp\bin\ActiveHTML\ ,ActiveHTML需要注册几个.dll,进入CMD在ActiveHTML目录,执行如下命令


# 进入CMD在ActiveHTML目录,执行如下命令
regsvr32.exe /s slASP3.dll
regsvr32.exe /s slDispatch.dll
regsvr32.exe /s MSXML4.dll
regsvr32.exe /s MSXML4R.dll

然后,同样的我们需要为ActiveHTML写一个配置文件.conf,如httpd-ahtml.conf,如下


##################################################
# Uncomment the following lines if you want
# to use Authorization environment-variables
# You may implement you own user
# authentication using LOGON_USER and
# LOGON_PASSWORD in your scripts (Login.asp)
##################################################
LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)$ [NC]
RewriteRule /.* - [E=HTTP_AUTHORIZATION:%1]
##################################################

# Supports Imagemaps
AddHandler imap-file map

##################################################
# Do not allow access to global.asa
##################################################

Order allow,deny
Deny from all
Satisfy All

##################################################
# Add ActiveHTML-Handler 其中”D:/wamp/bin/ActiveHTML“ 为ActiveHTML释放的目录,需自己修改。
##################################################
ScriptAlias /asp_bin “D:/wamp/bin/ActiveHTML”
Action ActiveHTML “/asp_bin/AHTML.exe”
AddHandler ActiveHTML .asp
DirectoryIndex index.asp default.asp

##################################################
# Add Sampledirectory Alias 其中”D:/wamp/www/asp/”为asp文件所在的目录,需自己修改。
##################################################

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

Alias /asp/ “D:/wamp/www/asp/”

Options Indexes MultiViews FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all

同样的,在apache的主配置文件httpd.conf 里适当的位置加入代码


# ASP ,写在httpd.conf 最后适当的位置。 只是为了规范。
Include conf/extra/httpd-ahtml.conf

然后,重启apache,现在/www/asp/目录已经可以解析.asp文件了。:)

转自 http://www.reforget.cn/nothing/post/119.html

本文作者:

希望您能够喜欢,欢迎您留言,我会及时答复。我要投稿

喜欢我们的文章请您与朋友分享:

相关文章:

Comments

目前没有评论. 你将成为第一个吃冒烟螃蟹的人!

Comments
发表评论

电子邮件地址不会被公开。*标记为必填选项

按 [ Ctrl+Enter ] 键直接提交

  • 正确格式为: http://www.shengbin.net

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

返回顶部