ASP.NET UrlRewriter - 如何为根编写正则表达式?

发布于 2024-09-28 12:21:42 字数 855 浏览 5 评论 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/

我想要完成的是获取“样本”关闭正则表达式语句,以便我可以直接点击 http://RewriteTest.com/12345 并通过检索“12345”值来显示 Sample.aspx。而且,当根目录被点击http://RewriteTest.com/时,它只会像现在一样显示Default.aspx。

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

谢谢你,

尼亚兹

I have been trying to use UrlRewriter (Intelligencia.UrlRewriter.dll) in a test project.

My rewrite statement is as in the following:

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

This statement works great for a URL like:

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

or, let's say:

http://RewriteTest.com/Sample/12345

And, I can retrieve the value "12345" in Sample.aspx file as:

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

And when I hit the root link, it successfully displays the Default.aspx:

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

What I want to accomplish is taking the "Sample" off the regex statement, so that I can directly hit http://RewriteTest.com/12345 and display Sample.aspx by retrieving "12345" value. And, when the root is hit http://RewriteTest.com/ it will simply display Default.aspx as it is now.

Is it possible? Can the regex statement be updated to something else for this purpose?

Thank you,

Niyazi

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

扛刀软妹 2024-10-05 12:21:42

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

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

或可变长度数字:

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

If your ID code is always going to be 5 digit number then you could have clamped the regex to that:

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

Or a variable length number:

<rewrite url="^~/([\d]+)$" to="~/Sample.aspx?Test=$1"/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文