1. 程式人生 > >iis5.1/iis6.0/iis7.0/iis7.5/iis8+ 配置url重寫 無副檔名偽靜態 包括無副檔名目錄靜態化

iis5.1/iis6.0/iis7.0/iis7.5/iis8+ 配置url重寫 無副檔名偽靜態 包括無副檔名目錄靜態化

在隔壁看到的,很有用,經測試正常,記性不好,在配置偶的一個新手卡站點時配了幾次,每次都要去看下,所以這次乾脆考來備份

最近在搞url重寫 遇到iis 無副檔名及html對映問題 供後人檢視

因為考慮功能比較多(URLRewriter元件有些功能滿足不了要求)所以就用了HttpModule方法重寫

iis5.1中 新增應用程式對映 .* (注意 這種方法只有5.1中可以)到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 確定檔案是否存在去掉 即可

iis6.0中 搜了大量文章 都不可以 ,終於看到一篇文章 在萬用字元應用程式對映插入isapi.dll檔案對映 如圖:

重新啟動iis 目錄對映就起作用了(據說很耗伺服器資源)

下面來說 iis7.0+以上的 版本 這個比較繁瑣 但是很簡單 不像 iis6.0我找了很久才找到方法

1) 首先新建一個應用程式池,名稱任意,比如:Myweb,託管管道模式先暫時設定為整合模式;

 

2) 部署好站點,並將此站點的應用程式池設定為Myweb

 

3) 選中站點,切換到功能試圖,找到 "伺服器元件"-> "處理程式對映",雙擊之後,在開啟視窗右側的操作欄目下做如下設定:

"新增指令碼對映":請求路徑 .html ,可執行檔案選擇 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll ,名稱隨意;

 


"新增萬用字元指令碼對映":請求路徑 * ,可執行檔案為:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,名稱隨意;

 


6)"新增託管處理程式":請求路徑 * ,可執行檔案:System.Web.UI.PageHandlerFactory,名稱隨意;;

 

4) 開啟站點切換到功能試圖,找到 "伺服器元件"->"模組",雙擊之後,在開啟視窗右側的操作欄目中,點選"新增託管模組",型別

設定自己的HttpModel 模組,並且把"僅針對向asp.net 應用程式或託管處理程式發出請求呼叫" 選中;

 

8)最後,找到我們第一步建立的應用程式池Myweb,將託管管道模式設定為經典模式。

重新啟動 網站  檢視