正则表达式重定向目标

Regex Redirect Destination

我需要根据 URL 的单个部分重定向多个页面,所以这些页面:

site/type1
site/type1/page1
site/type1/page2
site/type1/page3

需要重定向到:

site/type2
site/type2/page1
site/type2/page2
site/type2/page3

实际上涉及的页面不止4页。

我想我可以使用触发器:

(.*)/type2(.*)

但我对如何设置目的地感到困惑,以便它使用上一页的内容动态填充 URL 的其余部分。

欢迎提出任何想法。

谢谢。

您的语言可能支持用正则表达式替换。

这是您应该使用的正则表达式:

(.*\/)type1(\/.*|$)

这与您提出的有点不同。您的正则表达式将匹配 type2 而不是 type1,但是您想从 type1 重定向到 type2,对吗?我改的另一件事是第2组。如果你不希望像site/type1b这样的东西变成site/type2b,那么你应该把第二组写成\/.*|$

替换的话应该用type2,也就是"the stuff captured in group 1, followed by type2, followed by the stuff captured in group 2".

Here 是上述正则表达式和替换的在线演示。如果您不确定如何用正则表达式替换,可以使用 "code generator" 功能生成以您的语言执行此替换的代码。

您只需查找 site\/type1 并将其替换为 site\/type2

我用 vim 测试了它,对我来说效果很好 :%s/site\/type1/site\/type2/g 希望对你有帮助