asp.net url Rewriting總結
所謂url Rewriting並不是真的生成一個靜態的網頁,而只是一種偽靜態而已,在地址欄上看到的是一個靜態的地址而已,當客戶端發生一個請求給服務器時,服務器會根據其參數判斷是否需要isapi的處理,如果需要將發給isapi處理,asp中的是asp.dll,asp.net是aspnet_isapi.dll,他們處理後將結果反給IIS,再由IIS返回客戶端由客戶端的瀏覽器執行,在發出請求和得到結果這一段時間,可以對地址進行重寫以達到偽靜態的效果。
1.在項目bin目錄下包含一下URLRewriter.dll文件。
2.在web.config文件中設置
a:在最開始加上
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
b.添加地址重寫
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/index.htm</LookFor>
<SendTo>~/default.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Systemhelp(\d{1,2}).html</LookFor>
<SendTo>~/GetHelp.aspx?HelpID=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/NewsInfo(\d{1,8}).html</LookFor>
<SendTo>~/ShowNews.aspx?NewsID=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
3.在system.web下添加
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>
這樣就OK了,比如上邊NewsInfo1.html他其實的真實頁面是ShowNews.aspx?NewsID=1.只不過在地址欄中看到是一個靜態地址而已!
1.在項目bin目錄下包含一下URLRewriter.dll文件。
2.在web.config文件中設置
a:在最開始加上
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
b.添加地址重寫
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/index.htm</LookFor>
<SendTo>~/default.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Systemhelp(\d{1,2}).html</LookFor>
<SendTo>~/GetHelp.aspx?HelpID=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/NewsInfo(\d{1,8}).html</LookFor>
<SendTo>~/ShowNews.aspx?NewsID=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
3.在system.web下添加
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
</httpModules>
這樣就OK了,比如上邊NewsInfo1.html他其實的真實頁面是ShowNews.aspx?NewsID=1.只不過在地址欄中看到是一個靜態地址而已!