[转]URLRewriter使用通配符
網上有很多寫這個組件使用的文章,如何使用我就不細述了,有關在 ASP.NET 中執行 URL 重寫的文章請看下面鏈接:
http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true
我這里要說的是其中幾個很容易被忽視的小細節。
問題場景:
比如實際我并不存在下面三個WEB路徑:
http://*******/Tag/Java
http://*******/Tag/Java/
http://*******/Tag/Java/Default.aspx
我想把它重定向到
http://*******/List.aspx?tag=Java
這時候如果我們偷懶,直接用Scott Mitchell 的 URLRewriter 組件,
需要注意的有幾個地方:
1、我們需要給IIS設置通配符映射,而且這個映射必須不進行文件是否存在檢查。
2、我們在WEB.config 中應該用 httpModules 來定義撲捉用戶的請求,而不是 httpHandlers。
因為我們這里要處理 http://*******/Tag/Java 、 http://*******/Tag/Java/ 這樣的請求。
3、設置這個信息的 Web.config 應該是根站點目錄下的 Web.config,而不是 /Tag/ 目錄下的Web.config。
4、要撲捉的URL應該這三種情況都計算,而不是只考慮 http://*******/Tag/Java/Default.aspx 這種情況。
參考配置如下:
? <RewriterConfig>
??? <Rules>
????? <RewriterRule>
??????? <LookFor>~/tag/([\w]+)/default\.aspx</LookFor>
??????? <SendTo>~/List.aspx?Tag=$1</SendTo>
????? </RewriterRule>
??? </Rules>
??? <Rules>
????? <RewriterRule>
??????? <LookFor>~/tag/([\w]+)/</LookFor>
??????? <SendTo>~/List.aspx?Tag=$1</SendTo>
????? </RewriterRule>
??? </Rules>
??? <Rules>
????? <RewriterRule>
??????? <LookFor>~/tag/([\w]+)</LookFor>
??????? <SendTo>~/List.aspx?Tag=$1</SendTo>
????? </RewriterRule>
??? </Rules>
? </RewriterConfig>
轉載于:https://www.cnblogs.com/scgw/archive/2007/04/28/731623.html
總結
以上是生活随笔為你收集整理的[转]URLRewriter使用通配符的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 计算机蓝屏分析报告,如何获取电脑蓝屏后的
- 下一篇: c语言自学门槛,初学C语言的人最常问的几
