重写器配置中的正则表达式问题

时间:2010-05-25 03:32:52

标签: .net regex url-rewriting

我遇到来自某些搜索参数的错误请求的问题。

示例网址:

http://www.foo.com/washington/forums/search/%26

导致错误请求。

重写器配置行如下所示:

<rewrite url="^(.*)/forums/search/(.*)" to="~/Pages/Forums/Overview.aspx?Address=$1&amp;q=$2" processing="stop" />

我认为这是正则表达式的一个问题......?

提前致谢!

2 个答案:

答案 0 :(得分:0)

%26是网址编码&

因此,重写网址的查询字符串变为Address=www.foo.com/washington&q=&,由于尾随&

而格式不正确

我认为你必须在传递给url-rewriter之前对字符串进行编码

答案 1 :(得分:0)

此处讨论的问题和解决方案:

http://dirk.net/2008/06/09/ampersand-the-request-url-in-iis7/