我在一个有两种语言的网站上工作:英语和法语。
- 英文版页面在网址中
/en
- 法语版页面在网址中
/fr
当用户到达主页时,如果其浏览器是法语,他将被重定向到www.example.com/fr
,否则他将被重定向到www.example.com/en
。
并非所有页面都支持这两种语言,因此除了 root 之外,其他页面上没有任何语言重定向。
但是我有几个页面,我想根据语言重定向。如何将www.example.com/page
重定向到www.example.com/en/page
(或www.example.com/fr/page
(?
更新:这是我们在.htaccess
中用于重定向主页的代码:
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC]
RewriteRule ^/?$ /fr [R=302,L]
您可以%{HTTP: Accept-Language}
变量来检测 Web 浏览器的语言。
RewriteEngine on
#if browser language is "en"
RewriteCond %{HTTP: Accept-Language} ^en
#redirect /page to /en/page
RewriteRule ^((?!en).+)$ /en/$1 [L,R]
#if browser language is "fr"
RewriteCond %{HTTP: Accept-Language} ^fr
#redirect /page to /fr/page
RewriteRule ^((?!fr).+)$ /en/$1 [L,R]