如何修改此 .htaccess 规则以适应两种情况?

问题描述 投票:0回答:1

以下 .htaccess 规则将 URL 中的“OLDNAME”替换为“NEWNAME”,并从 URL 末尾删除字符串“-2”(如果存在)。我需要更新规则以适应两种情况:“OLDNAME1”和“OLDNAME2”。两者都重定向到一个“NEWNAME”。

RewriteRule ^(index\.php/)?OLDNAME/(.+?)(?:-2)?/?$ /NEWNAME/$2 [L,NC,R=302,NE]

我尝试了以下几种变体:

RewriteRule ^(index\.php/)?(OLDNAME1|OLDNAME2)/(.+?)(?:-2)?/?$ /NEWNAME/$2 [L,NC,R=302,NE]

感谢任何帮助。

apache .htaccess redirect mod-rewrite url-rewriting
1个回答
0
投票

使用您显示的示例,请尝试遵循 .htaccess 规则文件。我们需要在这里使用

THE_REQUEST
变量,并确保在测试您的 URL 之前清除浏览器缓存。

RewriteEngine ON
RewriteCond %{THE_REQUEST} \s/?index\.php/?\?(OLDNAME(?:1|2))\s [NC]
RewriteRule ^ /NEWNAME/$2? [R=301,L]
© www.soinside.com 2019 - 2024. All rights reserved.