代码之家  ›  专栏  ›  技术社区  ›  HasanG Joe Dabones

为什么urlrewriter.net不获取querystring值?

  •  0
  • HasanG Joe Dabones  · 技术社区  · 14 年前

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

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

    但是当我尝试访问/blog.aspx时?page=1未传递page参数。其他参数工作得很好,在重写规则时没有冲突。

    1 回复  |  直到 14 年前
        1
  •  2
  •   TimS    14 年前

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

    编辑

    此外,可能是查询字符串被附加了另一个'?'所以你需要把它从括号里拿出来。

    您还需要一个额外的组来使规则与不带“?”的规则匹配。。注意:我们现在返回结果中的2美元:)

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