2010-07-27 66 views
0

我刚刚开始使用URLRewriter.net与我的博客,我有一个获取查询字符串值的问题。我有一个规则的设置,如:为什么URLRewriter.NET不会获取查询字符串值?

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

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

回答

2

我认为问题在于2美元超出范围,因为您在RegEx中只有一个组。尝试$ 1。

编辑

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

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

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

我已经试过用$ 1或(\?。+)?但不起作用,因为这里建议:http://urlrewriter.net/index.php/support/using – 2010-07-27 13:35:32

+0

我试过用\?(。+)?$,它的工作,但这次blog.aspx不起作用没有? – 2010-07-27 14:03:06

+1

我真的必须学会这个该死的正则表达式:D。谢谢。 – 2010-07-27 18:32:36