微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 自动检测语言和重定向用户

我正在做自己的网站,我设法编写一些代码,根据浏览器的语言将用户指向语言版本.这是脚本:
<?PHP
  if ($_SERVER["HTTP_ACCEPT_LANGUAGE"] == "sv")
    header("location: index.PHP");
  if ($_SERVER["HTTP_ACCEPT_LANGUAGE"] == "pt")
    header("location: pt/index.PHP");
  else 
    header("location: en/index.html");
?>

我把它放在index.PHP之前.它似乎工作,因为我不在一个英语国家,但我的浏览器是英文,我被重定向到英文版本.

它是否正确?有没有更好/更清洁的方式来做到这一点?

PHP 5.3.0附带locale_accept_from_http(),它从Accept-Language头中获取首选语言.

你应该总是喜欢这种方法的自写法,因为头字段比人们想象的要复杂得多. (这是加权偏好的列表.)

你应该检索这样的语言:

$lang = locale_accept_from_http($_ SERVER [‘HTTP_ACCEPT_LANGUAGE’]);

但是即使如此,您也不会只为每个英文用户使用en,而不用于西班牙语.它可以变成much more difficult,像es-ES和es-US这样的东西是标准的.

这意味着您应该遍历一个正则表达式的列表,您可以尝试使用这种方式确定页面语言.以PHP-I18N为例.

原文地址:https://www.jb51.cc/php/139727.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐