【问题标题】:Why URLRewriter.NET doesn't get querystring values?为什么 URLRewriter.NET 没有得到查询字符串值?
【发布时间】:2010-07-27 13:28:03
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    编辑

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

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

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

    【讨论】:

    猜你喜欢
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 2011-07-28
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多