修改服务器配置 让asp.net文件后缀名随心所欲

asp或php的方法对.net就不行了,同样的办法,修改应用程序映射后,仍然没有得到预期的结果,文件什么内容,返回的就是什么内容,而不是当作asp.net程序来处理了
有的网站出于各种各样的原因,在IIS中修改了动态页面的默认后缀,asp时代就有人在服务器上修改配置,把html后缀的文件当作asp文件来解析:也就是说,asp程序(后缀为.asp)可以保存为一个.htm后缀的文件放到服务器上WEB目录下,而服务器照样将之当作asp程序来解释处理,生成结果。这样对访问者来说,还以为网站全是html页面,而且经常更新呢(感觉没什么必要是吗?错了,最起码的一个好处:搜索引擎可是优先收录html页面哦,这样的话站点将很容易被人在搜索引擎中搜索到)

服务器上修改解析asp文件的后缀很容易,在IIS服务管理器 -> 站点属性 -> 主目录 -> 配置 -> 应用程序映射中进行修改即可。如果有配置服务器支持PHP的经验,那就更清楚怎么回事了。

可是对asp.net就不行了,同样的办法,修改应用程序映射后,仍然没有得到预期的结果,文件什么内容,返回的就是什么内容,而不是当作asp.net程序来处理了。

其实主要是还差一点点,那就是没有在web.config文件或C:\windows\microsoft.net\frameworl\v1.1.4322\config\machine.config(windows2003下的路径,不同的操作系统路径稍有不同)中配置特定后缀的文件的HTTP处理程序,配置步骤(假设我们要增加一个映射,将后缀为.aaa的文件当作.aspx页面来处理。):

先在IIS服务管理器中停掉internet信息服务(不停掉没办法保存修改的),然后用记事本打开C:\windows\microsoft.net\frameworl\v1.1.4322\config\machine.config,查找"*.aspx",能找到这么一行:

本文相关代码如下:
<add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>

.aspx文件的解析就是这么配置的,同样的道理,我们只要再增加一行,将其中的*.aspx改为*.aaa就行了:

本文相关代码如下:
<add verb="*" path="*.aaa" type="System.Web.UI.PageHandlerFactory"/>

保存修改,然后启动internet信息服务,就可以将任意的aspx文件修改为后缀为.aaa的文件了。

如果不想修改machine.config文件,也可以通过修改网站的web.config文件实现,方法类似,在<configuration><system.web>节点下增加如下配置即可:

本文相关代码如下:
<httpHandlers>
<add verb="*" path="*.aaa" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>

最后说一点,如果是IIS6(也就是windows2003自带的IIS),还得在IIS的站点属性 -> HTTP头 -> MIME类型 中增加一个.aaa的MIME类型,不然遇到.aaa的请求时将首先被IIS给拦截掉,没办法显示的。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

前天在调试asp.net+sql server环境,点这里下载sql server 2005企业版。在测试一个用asp.net+mssql写的留言本程序的时候,报错,提示无法识别的属性“type”
由于想研究在linux下跑.net程序的可行性,于是尝试在CentOS5.1下搭建Mono环境和Asp.Net的服务器。Asp.Net的服务器是采用mod_mono和Apache的方式搭建(Nginx的搭建尚未研究)。
我们举例详细说明在运行ASP.NET的windows 2003虚拟主机上,对于多个ASP.NET站点的安全配置
由于b/s项目中使用到了一个打印控件,在客户端需要安装exe文件,但在下载此exe文件过程中现在无法下载的问题。超时大概5分钟后出现CGI Timeout的错误。
让apache支持asp.net的设置步骤。
如果Asp.Net在IIS上运行不了,就试下下面两种方法应该可以你的问题