为什么URLRewriter.NET没有获得查询字符串值?

时间:2010-07-27 13:28:03

标签: asp.net url-rewriting urlrewriter.net

我刚刚开始在我的博客中使用URLRewriter.net,我在获取查询字符串值时遇到问题。我有一个规则设置:

<rewrite url="~/blog.aspx(\?.+)?$"
    to="~/hiddenFolder/blog.aspx?mode=default&amp;$2"/>

但是当我尝试访问/blog.aspx?page=1时,页面参数未通过。其他参数效果很好,重写规则没有冲突。

1 个答案:

答案 0 :(得分:2)

我认为问题是$ 2超出范围,因为您的RegEx中只有一个组。试试$ 1。

修改

此外,可能是查询字符串附加了另一个'?'所以你需要将它移出括号。

你还需要一个额外的组来使规则与我们没有'?'匹配。注意:现在结果我们回到了2美元:)

<rewrite url="~/blog.aspx(\?(.+)?)?$"
    to="~/hiddenFolder/blog.aspx?mode=default&amp;$2"/>