2010-10-22 38 views
0

我一直在試圖在測試項目中使用UrlRewriter(Intelligencia.UrlRewriter.dll)。ASP.NET UrlRewriter - 如何爲Root編寫RegEx?

我重寫語句如下所示:

<rewrite url="~/Sample/(.+)" to="~/Sample.aspx?Test=$1"/> 

這種說法像一個URL的偉大工程:

http://localhost:4188/RewriteTest/Sample/12345 

,或者讓我們說:

http://RewriteTest.com/Sample/12345 

而且,我可以在Sample.aspx文件中檢索值「12345」,如下所示:

Label1.Text = "Test: " + Request.QueryString["Test"]; 

而當我打根的鏈接,它成功地顯示的Default.aspx:

http://localhost:4188/RewriteTest/http://RewriteTest.com/

我想做到走的是「樣品」關正則表達式語句,使我可以直接點擊http://RewriteTest.com/12345並通過檢索「12345」值來顯示Sample.aspx。而且,當根目錄被打到http://RewriteTest.com/時,它將會像現在一樣簡單地顯示Default.aspx。

可能嗎?正則表達式語句是否可以更新爲其他目的?

謝謝

回答

1

如果你的ID代碼總是將是5位數字,那麼你可能已經夾緊的正則表達式是:

<rewrite url="^~/([\d]{5})$" to="~/Sample.aspx?Test=$1"/> 

還是可變長度的數:

<rewrite url="^~/([\d]+)$" to="~/Sample.aspx?Test=$1"/>