首页 > 解决方案 > 如何使用 .htaccess 基于浏览器语言进行重定向

问题描述

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

我试图根据浏览器位置重定向用户。它适用于 index.php。

但如果浏览器语言是意大利语或“www.example”,它不会重定向复杂的 url,例如“www.example.com/something/something”,不会重定向到“www.example.com/it_IT/something/something”。 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]

标签: .htaccess

解决方案


试试这个 :

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]

推荐阅读