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


Posted in PHP onDecember 06, 2006

大家都在用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 相关文章推荐
我的论坛源代码(六)
Oct 09 PHP
PHP文件注释标记及规范小结
Apr 01 PHP
thinkphp的c方法使用示例
Feb 24 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
Yii查询生成器(Query Builder)用法实例教程
Sep 04 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
PHP实现递归无限级分类
Oct 22 PHP
PHP微信刮刮卡 附微信接口
Jul 22 PHP
php获取数据库中数据的实现方法
Jun 01 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 PHP
PHP经典的给图片加水印程序
Dec 06 #PHP
echo, print, printf 和 sprintf 区别
Dec 06 #PHP
PHP数字格式化
Dec 06 #PHP
用缓存实现静态页面的测试
Dec 06 #PHP
一些PHP写的小东西
Dec 06 #PHP
关于时间计算的结总
Dec 06 #PHP
一段防盗连的PHP代码
Dec 06 #PHP
You might like
php中hashtable实现示例分享
2014/02/13 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
2014/06/08 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
php微信开发之上传临时素材
2016/06/24 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
javascript如何写热点图
2015/12/08 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
vue实现记事本功能
2019/06/26 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python实现获取客户机上指定文件并传输到服务器的方法
2015/03/16 Python
python字典改变value值方法总结
2019/06/21 Python
深入解析神经网络从原理到实现
2019/07/26 Python
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
环境科学毕业生自荐信
2013/11/21 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
个人自荐材料
2014/05/23 职场文书
2015教师年度考核评语
2015/03/25 职场文书
导游带团欢迎词
2015/09/30 职场文书
68句权威创业名言
2019/08/26 职场文书
vue 给数组添加新对象并赋值
2022/04/20 Vue.js