以下 .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]
感谢任何帮助。
使用您显示的示例,请尝试遵循 .htaccess 规则文件。我们需要在这里使用
THE_REQUEST
变量,并确保在测试您的 URL 之前清除浏览器缓存。
RewriteEngine ON
RewriteCond %{THE_REQUEST} \s/?index\.php/?\?(OLDNAME(?:1|2))\s [NC]
RewriteRule ^ /NEWNAME/$2? [R=301,L]