前提條件:先把IIS應用程式池的託管管理道模式為整合(為了可以做第3,4步)
首先在IIS中的站點裡,找到處理程式對映。雙擊進去
1、新增指令碼對映(路徑:*.html 可執行檔案%windir%Microsoft.NETFrameworkv2.0.50727aspnet_isapi.dll 名稱:任意,比如Html )
2、新增萬用字元指令碼對映(32位作業系統,路徑:* 可執行檔案:C:\Windows\Microsoft.NET\Frameworkv2.0.\50727\aspnet_isapi.dll 名稱:任意,比如All
,64位作業系統:路徑:* 可執行檔案:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 名稱:任意,比如All
)
3、新增託管處理程式對映(路徑:*.html 可執行檔案:System.Web.UI.PageHandlerFactory 名稱 任意 比如Html-Integrate)
4、IIS中找到模組(雙擊進去)-->新增託管模組---->(名稱:任意 如All 型別:URLRewriter.ModuleRewrite
把 僅針對向asp.net 應用程式或託管處理程式發出請求呼叫 勾上
5、將應用程式池的託管管理道模式為經典
以上步驟是針對32位電腦系統所寫,如果您的電腦是64位系統,需要再設定如下一個步驟
選擇重寫站點對應的應用程式連線池,高階設定,啟用32位應用程式,設為true
上面設定完,重寫成HTML肯定成功,但是II7或以上有個bug,也就是真實存在的html沒有辦法訪問,下面我給大家提供一個可以解決的辦法,也就是在webconfig里加下配置就能解決:
<system.web>
<httpHandlers>
<add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.0">
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>
</compilation>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
<httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false" />
</system.web>
上面加紅色的就是了