首页 > 解决方案 > 301 重定向正则表达式模式

问题描述

我正在尝试制定一个 IIS 重定向规则来从这个 url 模式重定向,但它打败了我:

https://www.mycompanyPLC.com/en/lorem/ipsum/whatever

https://www.mycompanyLTD.com/lorem/ipsum/whatever

基本上我需要用 LTD 替换 PLC,如果 url 中有“/en/”组,则必须将其删除。

标签: regexredirectiishttp-status-code-301

解决方案


/en/您可以使用前面提供的单个正则表达式来满足您的两个要求.com。就像是:

(.*?)PLC\.com(?:\/\ben\b)?(.*)

上述正则表达式的解释:

  • (.*?)- 代表 1st 捕获组在PLC lazily之前捕获所有内容。
  • PLC\.comPLC.com-从字面上匹配。
  • (?:\/\ben\b)?- 表示一个非捕获组匹配\en字面上零或一次。\b表示单词边界。
  • (.*)\en - 表示贪婪之后匹配所有内容的第二个捕获组。
  • $1LTD.com$2- 对于替换(或本例中的重定向)部分,您可以使用此字符串,其中$1代表第一个捕获的组并$2代表第二个捕获的组。在你的情况下;你可以使用{R:1}LTD.com{R:2}.

图示

您可以在此处找到上述正则表达式的演示。


推荐阅读