如何重写包含加号和特殊字符的网址?

时间:2010-06-30 10:03:16

标签: regex url-rewriting

我们有一些需要重定向的传入网址,但是我们在使用包含加号(+)的网址时出现问题。

例如,任何传入的URL都必须重定向到新网站的主页:

  

/eng/news/2005+01+01.htm

应重定向到新网站的主页

  

/ EN /

使用UrlRewriter.net我们设置的规则适用于“普通”网址,但不适用于上述

<redirect url="~/eng/(.+)" to="/en/index.aspx" />

但是如果我将传入的URL更改为

,它可以正常工作
  

/eng/news/2005-01-01.htm

问题是什么,任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我不知道UrlRewriter.net,我不确定它使用哪种正则表达式语法。我根据Perl正则表达式提供了一些提示。

  1. 一开始的~是什么?也许你的意思是^,即字符串的开头。
  2. (.+)匹配任何重复一次或多次的角色;它与您想要的+符号不匹配
  3. 这是编写(字符串)正则表达式匹配网址的一种方法,这些网址以字符串/eng/开头并且包含+符号:

    ^\/eng\/.*\+.*

    我希望这会有所帮助。