2010-10-22 4 views
0

Я пытаюсь использовать UrlRewriter (Intelligencia.UrlRewriter.dll) в тестовом проекте.ASP.NET UrlRewriter - Как написать RegEx для корня?

Мой переписывают заявление как в следующем примере:

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

Это утверждение отлично работает для URL, как:

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

или, скажем:

http://RewriteTest.com/Sample/12345 

И, Я могу получить значение «12345» в файле Sample.aspx как:

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

И когда я ударил по ссылке корневой, он успешно выводит Default.aspx:

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

То, что я хочу сделать принимает «образец» от регулярных выражений заявления, так что Я могу сразу нажать http://RewriteTest.com/12345 и отобразить Sample.aspx, получив значение «12345». И, когда корень попал http://RewriteTest.com/, он просто отобразит Default.aspx, как сейчас.

Возможно ли это? Может ли инструкция regex обновляться для чего-то еще для этой цели?

Спасибо,

Ниязи

ответ

1

Если ваш ID код всегда будет 5 цифр, то вы могли бы зажат регулярное выражение, что:

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

Или номер переменной длины :

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