我正在尝试将一些使用UrlRewriter.net的重写规则添加到我的 ASP.NET Web 应用程序中。问题是我是一个正则表达式新手,并且提供的示例非常基本。
我的问题是:如何区分包含 GET 查询参数的 url?
即,如果我添加此规则:
<rewrite url="~/([.+])" to="~/$1.aspx" />
它将重写www.example.com/products
为www.example.com/products.aspx
,但它也将重写www.example.com/products?id=1
为www.example.com/products?id=1.aspx
。
问题实际上只在使用登录控件时发生,因为它创建了一个类似于 的 url www.example.com/login?returnUrl=/members
,我不知道如何重写它。
我想要的是:
- 重写
www.ex.com/test
为www.ex.com/test.aspx
, 和 - 重写
www.ex.com/test?page=dummy
为www.ex.com/test.aspx?page=dummy.aspx
非常感谢!
[编辑]顺便说一句,我还没有想出如何为 UrlRewriter 打开控制台调试。我已将“注册记录器”部分添加到配置文件中,但 VS 输出窗口什么也没显示。那也会很有帮助。