代码之家  ›  专栏  ›  技术社区  ›  dnolan

如何阻止UrlRewriter剥离我的+符号

  •  1
  • dnolan  · 技术社区  · 17 年前

    我在应用程序中使用Intelligencia的UrlRewriter,我遇到了一个问题,我设置的规则似乎正在从我的url中删除+符号。

    /category/catname/+tag+tag 但在我看来,它是 /category/catname/ tag tag

    有人有什么想法吗?这是我的正则表达式吗?我在稳压器里试过了,配得很好。

    <rewriter>
      <rewrite url="^/content/(.+)$" to="~/page.aspx?name=$1" />
      <rewrite url="^/category/(.+)$" to="~/catalog.aspx?category=$1" />
      <rewrite url="^/product/(.+)$" to="~/catalog.aspx?product=$1" />
      <rewrite url="~/login/" to="~/login.aspx"/>
    </rewriter>
    
    1 回复  |  直到 17 年前
        1
  •  5
  •   stephenbayer    17 年前

    之所以这样做,是因为在重写器实际获取“+”之前,Web服务器将其解析为一个空格。Literal+是无法在实际URL中使用的内容。如果要使用+,则需要将其引用为%2B:“/category/catname/%2Btag1%2Btag2”。

    Here is an example of URL encoding

    推荐文章