让你的网站首页自动选择语言转跳

yipeiwu_com5年前PHP代码库
大家都在用google,你用中文系统打开google的首页,打开的自然是中文首页,而不会是其他语言。因为google会自动判断用户系统使用的首选语言是什么。 
怎样才能做到像google那样呢,其实很简单, 
在浏览器发给web服务器的 HTTP Headers Information 中包含了这样一个信息 Accept-Language 
这个信息就是,浏览器中 工具->Internet选项->常规 下的 语言, 它就是用来设置浏览器可接受的语言首选项的, 它可以是多种可接受语言的优先排序列。 

下面以PHP为例, 
用户可接受的语言信息,放在$_SERVER['HTTP_ACCEPT_LANGUAGE']里, 
变量信息是类似这样的 "zh-cn", 如果是多语言列,是类似 "zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3" 
下面的问题可以迎刃而解了。 


程序代码 


<?php 
error_reporting(E_ALL ^ E_NOTICE); 

// 分析 HTTP_ACCEPT_LANGUAGE 的属性 
// 这里只取第一语言设置 (其他可根据需要增强功能,这里只做简单的方法演示) 

preg_match('/^([a-z-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches); 
$lang = $matches[1]; 

switch ($lang) { 
case 'zh-cn' : 
header('Location: http://cn.example.com/');  
break; 
case 'zh-tw' : 
header('Location: http://tw.example.com/');  
break; 
case 'ko' : 
header('Location: http://ko.example.com/');  
break; 
default:  
header('Location: http://en.example.com/');  
break; 


?>

相关文章

php获取参数的几种方法总结

php获取参数的几种方法总结 $value = $_POST["value"];//取得post中的       ...

Admin generator, filters and I18n

Three easy steps 1) configure function Add an input for each field you want to include in you...

php用ini_get获取php.ini里变量值的方法

本文实例讲述了php用ini_get获取php.ini里变量值的方法。分享给大家供大家参考。具体分析如下: 要得到php.ini里的变量值,当然,你可以用phpinfo();来得到所有p...

PHP单元测试PHPUnit简单用法示例

本文实例讲述了PHP单元测试PHPUnit简单用法。分享给大家供大家参考,具体如下: windows开发环境下,PHP使用单元测试可以使用PHPUnit。 安装 首先下载PHPUnit,...

PHP7新特性之抽象语法树(AST)带来的变化详解

本文分析了PHP7新特性之抽象语法树(AST)带来的变化。分享给大家供大家参考,具体如下: 这里大部分内容参照 AST 的 RFC 文档而成:https://wiki.php.net/r...