0

我一直在尝试在测试项目中使用 UrlRewriter (Intelligencia.UrlRewriter.dll)。

我的重写语句如下:

<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/

我想要完成的是从 regex 语句中删除“Sample”,这样我就可以 http://RewriteTest.com/12345 通过检索“12345”值直接点击并显示 Sample.aspx。而且,当根被击中 http://RewriteTest.com/ 时,它将简单地显示 Default.aspx,就像现在一样。

可能吗?可以为此目的将正则表达式语句更新为其他内容吗?

谢谢,

尼亚子

4

1 回答 1

1

如果您的 ID 代码始终是 5 位数字,那么您可以将正则表达式限制为:

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

或可变长度数字:

<rewrite url="^~/([\d]+)$" to="~/Sample.aspx?Test=$1"/>
于 2010-11-16T09:50:48.117 回答