修改服务器配置,让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给拦截掉,没办法显示的。