如何根据用户语言环境重定向到给定页面?

如何根据用户语言环境重定向到给定页面?

有没有办法根据浏览器语言环境重定向用户?

例如,我想将所有未将浏览器语言环境设置为法语的用户重定向到名为 index.en.html 的页面。

我可以使用 Apache 和 .htaccess 来做到这一点吗?

答案1

通过查看文档我找到了 MultiViews 选项。

Options MultiViews
AddLanguage fr .fr
AddLanguage en .en
<IfModule mod_negotiation.c>
     LanguagePriority fr en
</IfModule>

答案2

你应该能够匹配环境变量%{HTTP_ACCEPT_LANGUAGE}或 HTTP 标头Accept-Language(带有%{HTTP:Accept-Language})用于frfr-fr

答案3

您可以使用mod_rewrite并测试标Accept-Language头。例如:

RewriteCond %{HTTP:Accept-Language} en-us
RewriteRule ^(.*)$ /en-us/$1 [L]

更好的是,看看mod_negotiation

http://httpd.apache.org/docs/2.2/content-negotiation.html

相关内容