我正在尝试为我的.htaccess文件编写规则,检查第一个路径段的匹配项,检查最后一个段!= en,然后替换最后一个段。
e.g。
转换
/ ZH /东西/ somethingelse / DE /
到
/ ZH /东西/ somethingelse / EN /
如果最后一个段已经/ en /,则不需要应用规则。 在第一个和最后一个之间可以有更多或更少的路径段。
我现在正在尝试这个
RewriteRule /zh.*/([^/]+)/(?!^en$).*$ /zh/$1/en/ [R=301,L]
但它正在给我
/ zh / en / en /
结果
答案 0 :(得分:0)
可能更改正则表达式并添加条件以防止/en/
上的循环:
RewriteCond %{REQUEST_URI} !/en/?$
RewriteRule ^/zh[^\/]*/(.*)/[a-z]{2}/?$ /zh/$1/en/ [R=301,L]
注意:如果在.htaccess文件中使用此文件并且您使用的是apache 2.0+,则需要删除从^/zh
到^zh
的前导斜杠。