【问题标题】:RegEx to redirect certain URL path正则表达式重定向某些 URL 路径
【发布时间】:2014-01-29 00:08:44
【问题描述】:

我正在尝试创建一个将 /parent/special/{anything} 重定向到 /parent/{anything} 的规则。换句话说,如果它在“父”之后,则从 URL 中删除“特殊”。这是针对 .NET 应用程序的,更具体地说是针对 http://urlrewriter.net。有人可以帮忙吗?

【问题讨论】:

  • 您正在使用哪种语言进行开发?
  • ...匹配“/parent/special/”并将其替换为“/parent/”?所以不需要正则表达式?
  • 规则是什么?您可能需要提供有关您想在何处使用正则表达式的更多信息,因为这会影响所使用的语法。
  • 我更新了问题的更多细节
  • 请求代码的问题必须证明在解决实际问题方面付出了最小的努力,包括尝试的代码和遇到的问题

标签: .net regex urlrewriter.net


【解决方案1】:

如果您使用的是符合 PCRE 的语言,则可以使用:

(\/\w+\/)(?:special\/)?(.*$)

并替换为:$1$2

示例:http://regex101.com/r/uM8rA7

如果您特别想要/parent,只需将\w+ 替换为parent

编辑允许/special之后的任何内容。

【讨论】:

    【解决方案2】:

    其实很简单,试试这个:

    重定向来自:parent/special/(.*)的所有请求

    收件人:parent/$1

    如果您使用的是 Apache,RewriteRule 将如下所示:

    RewriteRule parent/special/(.*) parent/$1 [R=301]
    

    【讨论】:

      【解决方案3】:

      以下正则表达式:

      (\/\w+\/)special\/
      

      仅当/parent/ 路径后跟special 时才会捕获它。

      Check it here

      【讨论】:

      • 如何将“特殊”之后的内容添加回 URL?
      • 哦,没注意到你的问题。然后使用@remus 方法。
      【解决方案4】:

      你可以试试这个:

      sed -i 's/parent\/special/parent/g' file.txt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-22
        • 2020-03-28
        • 2017-01-05
        • 1970-01-01
        • 1970-01-01
        • 2012-08-14
        • 2012-09-29
        相关资源
        最近更新 更多