仅重定向一个页面,具体取决于浏览器语言



我在一个有两种语言的网站上工作:英语和法语。

  • 英文版页面在网址中/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]

最新更新