欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-09-25 22:47:12
有的网站出于各种各样的原因,在iis中修改了动态页面的默认后缀,asp时代就有人在服务器上修改配置,把html后缀的文件当作asp文件来解析:也就是说,asp程序(后缀为....
有的网站出于各种各样的原因,在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给拦截掉,没办法显示的。