猛然發現ASP.NET 2.0本身就提供了UrlMapping的自然支援-web.config檔中的
這個配置可以讓ASP.NET程式在ASP.NET Development Server(就是在建置ASP.NET專案時選檔案系統)直接支援UrlMapping,不過它有幾個缺點:
1.只能映射固定的位址,所以只能一個位址一個位址的配置
2.ASP.NET Development Server中可以不用配什麼別的地方,在IIS中受請求回應模型所限,估計還是要在IIS中設映射。這樣的話,反而搞得我到處找資料,看怎麼實作在ASP.NET Development Server設定映射,得到的結果是不行。
針對UrlMapping的不支援正規表示式的缺陷,我做了個支援正規表示式的UrlMapping,可惜由於UrlMapping是由HttpApplication呼叫的,而HttpApplication是Internal的,不能對它做什麼動作,所以實現的東東和UrlMapping相比做在Web.config中多做個
檔案下載(下載檔案中包含RegexUrlMapping元件和一個範例ASP.NET,注意ASP.NET程式需部署在IIS中,並且要設定映射,方法是右鍵點選虛擬目錄,選屬性,選配置,在通配符應用程式映射中新增c:windowsmicrosoft.netframeworkv2.0.50727aspnet_isapi.dll的引用,並去掉確認檔案是否存在的鉤,這裡是為了偷懶才用通配符全部映射到ASP.NET2.0的ISAPI,實際開發中最好酌情添加具體一點的映射)
Web.config中的配置舉例如下:
其中RegexUrlMapping的屬性enabled用於開啟和關閉映射,rebaseClientPath請參考HttpContext.RewritePath中rebaseClientPath參數
第二個add在url中用(?
http://www.cnblogs.com/thinhunan/archive/2006/08/22/regexurlmapping.html