如何使用.htaccess基于浏览器语言进行重定向

时间:2019-03-04 14:24:20

标签: .htaccess

我在目录“ www.example.com/it_IT”中有一个意大利语站点,在“ www.example.com/en_GB/”中有一个英语站点

我尝试根据浏览器位置重定向用户。使用index.php可以正常工作。

但是它不会重定向复杂的网址,例如“ www.example.com/something/something”未重定向到 如果浏览器语言为意大利语,则为“ www.example.com/it_IT/something/something”;如果位置为英国,则为“ www.example.com/en_GB/something/something”


这是我的.htaccess文件:

RewriteEngine On

RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ http://example.com/en_GB/ [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^it [NC]
RewriteRule ^$ http://example.com/it_IT/ [L,R=301]

1 个答案:

答案 0 :(得分:0)

尝试一下:

RewriteEngine On

RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteCond %{REQUEST_URI} !en_GB [NC]
RewriteRule ^(.*)$  http://example.com/en_GB/$1 [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^it [NC]
RewriteCond %{REQUEST_URI} !it_IT [NC]
RewriteRule ^(.*)$ http://example.com/it_IT/$1 [L,R=301]