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


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服务器实现多session并发运行
Oct 09 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
基于php中使用excel的简单介绍
Aug 02 PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 PHP
微信公众平台DEMO(PHP)
May 04 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
php5.6.x到php7.0.x特性小结
Aug 17 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 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
杏林同学录(八)
2006/10/09 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
jQuery事件用法详解
2016/10/06 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
浅谈JS对象添加getter与setter的5种方法
2018/06/09 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
VueJs里利用CryptoJs实现加密及解密的方法示例
2019/04/29 Javascript
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
简单实现python爬虫功能
2015/12/31 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
PyQT实现多窗口切换
2018/04/20 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
关于元旦的广播稿
2014/02/16 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
公司户外活动总结
2014/07/04 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
2015年药房工作总结
2015/04/25 职场文书
管理失职检讨书
2015/05/05 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书