IIS7.0設定 url重寫成html(偽靜態)

weixin_30788239發表於2020-04-05

前提條件:先把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>

上面加紅色的就是了

轉載於:https://www.cnblogs.com/taizhouxiaoba/archive/2011/09/20/2182032.html

相關文章