我需要根据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的其余部分。
欢迎提出任何想法。
谢谢。
答案 0 :(得分:1)
您只需查找site\/type1
并将其替换为site\/type2
我用vim测试了它,对我来说效果很好:%s/site\/type1/site\/type2/g
希望对您有帮助
答案 1 :(得分:0)
您的语言可能支持用正则表达式替换。
这是您应该使用的正则表达式:
(.*\/)type1(\/.*|$)
这与您建议的有点不同。您的正则表达式将匹配type2
而不是type1
,但是您想从type1
重定向到type2
,对吗?我更改的另一件事是第2组。如果您不希望将site/type1b
之类的内容变成site/type2b
,则应将第二个组写为\/.*|$
。
要进行替换,您应该使用$1type2$2
,这意味着“在第1组中捕获的东西,接着是type2
,然后是在第2组中捕获的东西”。
Here是上述正则表达式和替换的在线演示。如果不确定如何用正则表达式替换,则可以使用“代码生成器”功能生成使用您的语言执行此替换的代码。