我在基本路径中更新了国家/地区代码,我正在尝试最终转到的重定向用户: www.example.com/uk/etc1/etc2/etc ..
www.example.com/的 GB / ETC1 / ETC2 /等。
但有时也有www.example.com/ 英国 #etc
我认为这在mod_rewrite中相当微不足道我无法工作。
我觉得最接近的是以下规则,但是当我降落在英国时没有任何反应。
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteRule .* index.php [L] #this is active already on the page
RewriteRule ^/uk(.*) /gb(.*) [R]
</IfModule>
编辑:
这似乎更接近但我陷入了无休止的循环:
RewriteRule ^uk(.*) /gb$1 [R]
编辑2 / (3)回答:
这似乎正确重定向(正确):
RewriteRule ^uk(.*)$ /gb$1 [R=302,L]
RewriteRule .* index.php [L]
但是页面上的格式被打破了,看起来像是一些循环问题。
但是格式化不正确,如果我交换了两个RewriteRules格式是正确的但是uk =&gt; gb转换似乎根本没有被调用。
注意Rewriteconditions,我没有注意到它们的重要性,我删除它们原始的index.php重写,这意味着它无法找到任何媒体。 我没有注意到应用于原始index.php的重写条件
答案 0 :(得分:0)
这应该可以解决问题:
Options +FollowSymLinks
DirectoryIndex index.php
RewriteEngine on
RewriteRule ^/uk(.*) /gb$1 [R=301,L]