我已经更新了基本路径中的国家/地区代码,我正在尝试重定向用户,最终将访问:www.example.com/uk/etc1/etc2/etc ..
www.example.com/gb/etc1/etc2/etc .. _
但有时也 www.example.com/ uk #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 => gb 转换似乎根本没有被调用。
回答
小心 Rewriteconditions,我没有注意到它们的重要性,我删除了它们以用于原始 index.php 重写,这意味着它无法找到任何媒体。我没有注意到申请原始 index.php 的重写条件