修改服務器配置 讓asp.net文件后綴名隨心所欲
2024-09-10 00:04:54
供稿:網友
有的網站出于各種各樣的原因,在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給攔截掉,沒辦法顯示的。