我试图使用UrlRewriter.net一些重写规则添加到我的ASP.NET web应用程序。问题是我是一个正则表达式新手,并且provided examples是非常基本的。UrlRewriter.net独家的正则表达式规则
我的问题是:我怎么区分包含GET查询参数的网址?
即,如果我添加此规则:
<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
。使用登录控件时
问题,实际上只发生,因为它创建类似www.example.com/login?returnUrl=/members
一个网址,我不知道如何重写。
我想的是:
- 改写
www.ex.com/test
到www.ex.com/test.aspx
,并且 - 改写
www.ex.com/test?page=dummy
到
非常感谢!
而btw我还没有想到如何打开控制台调试UrlRewriter。我已经将“寄存器记录器”部分添加到配置文件中,但是VS输出窗口什么也没有显示。这也会有所帮助。
这个问题解决了我的问题,但我也不得不做'Global.Application_EndRequest'处理一些重写,因为登录控件看到引擎盖下的URL重写,所以链接被网络表格中通常的POST搞砸。 – regexnewb 2011-04-13 10:44:15