regex - 301 重定向正则表达式模式
问题描述
我正在尝试制定一个 IIS 重定向规则来从这个 url 模式重定向,但它打败了我:
https://www.mycompanyPLC.com/en/lorem/ipsum/whatever
至
https://www.mycompanyLTD.com/lorem/ipsum/whatever
基本上我需要用 LTD 替换 PLC,如果 url 中有“/en/”组,则必须将其删除。
解决方案
/en/
您可以使用前面提供的单个正则表达式来满足您的两个要求.com
。就像是:
(.*?)PLC\.com(?:\/\ben\b)?(.*)
上述正则表达式的解释:
(.*?)
- 代表 1st 捕获组在PLC
lazily之前捕获所有内容。PLC\.com
PLC.com
-从字面上匹配。(?:\/\ben\b)?
- 表示一个非捕获组匹配\en
字面上零或一次。\b
表示单词边界。(.*)
\en
- 表示贪婪之后匹配所有内容的第二个捕获组。$1LTD.com$2
- 对于替换(或本例中的重定向)部分,您可以使用此字符串,其中$1
代表第一个捕获的组并$2
代表第二个捕获的组。在你的情况下;你可以使用{R:1}LTD.com{R:2}
.
您可以在此处找到上述正则表达式的演示。
推荐阅读
- spring-cloud-stream - 了解 Spring Cloud Stream Kafka 和 Spring Retry
- tsql - 创建/更新索引时减少 CPU 和读取的策略不是一个选项
- amazon-connect - 我想添加到我的 Amazon Connect 调度应用程序的功能
- voiceover - VoiceOver 是否有类似于 JAWS 的链接列表和标题列表?
- java - 我应该使用一两个队列吗?
- postgresql - 将字符串转换为日期,然后减去几个月
- mysql - 在MySql中替换变量文本值内的字符串
- dart - 如何在飞镖中将字符串转换为原始字符串
- azure-iot-hub - 如何从 ModuleClient 检索报告的属性
- python - Pygame转换为.exe后无法打开声音文件