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


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 相关文章推荐
php 静态页面中显示动态内容
Aug 14 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
smarty基础之拼接字符串的详解
Jun 18 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
php绘图之在图片上写中文和英文的方法
Jan 24 PHP
为你总结一些php信息函数
Oct 21 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 PHP
php die()与exit()的区别实例详解
Dec 03 PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 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引用地址改变变量值的问题
2012/03/23 PHP
PHP数据过滤的方法
2013/10/30 PHP
分享php分页的功能模块
2015/06/16 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
jquery中this的使用说明
2010/09/06 Javascript
javascript数组去掉重复
2011/05/12 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
使用python 获取进程pid号的方法
2014/03/10 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
百度软件工程师职位
2013/02/14 面试题
军训自我鉴定
2013/12/14 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
八年级历史教学反思
2016/02/19 职场文书
个人向公司借款协议书
2016/03/19 职场文书
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS