讓你的網(wǎng)站首頁(yè)自動(dòng)選擇語(yǔ)言轉(zhuǎn)跳
更新時(shí)間:2006年12月06日 00:00:00 作者:
大家都在用google,你用中文系統(tǒng)打開(kāi)google的首頁(yè),打開(kāi)的自然是中文首頁(yè),而不會(huì)是其他語(yǔ)言。因?yàn)間oogle會(huì)自動(dòng)判斷用戶系統(tǒng)使用的首選語(yǔ)言是什么。
怎樣才能做到像google那樣呢,其實(shí)很簡(jiǎn)單,
在瀏覽器發(fā)給web服務(wù)器的 HTTP Headers Information 中包含了這樣一個(gè)信息 Accept-Language
這個(gè)信息就是,瀏覽器中 工具->Internet選項(xiàng)->常規(guī) 下的 語(yǔ)言, 它就是用來(lái)設(shè)置瀏覽器可接受的語(yǔ)言首選項(xiàng)的, 它可以是多種可接受語(yǔ)言的優(yōu)先排序列。
下面以PHP為例,
用戶可接受的語(yǔ)言信息,放在$_SERVER['HTTP_ACCEPT_LANGUAGE']里,
變量信息是類似這樣的 "zh-cn", 如果是多語(yǔ)言列,是類似 "zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3"
下面的問(wèn)題可以迎刃而解了。
程序代碼
<?php
error_reporting(E_ALL ^ E_NOTICE);
// 分析 HTTP_ACCEPT_LANGUAGE 的屬性
// 這里只取第一語(yǔ)言設(shè)置 (其他可根據(jù)需要增強(qiáng)功能,這里只做簡(jiǎn)單的方法演示)
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;
}
?>
怎樣才能做到像google那樣呢,其實(shí)很簡(jiǎn)單,
在瀏覽器發(fā)給web服務(wù)器的 HTTP Headers Information 中包含了這樣一個(gè)信息 Accept-Language
這個(gè)信息就是,瀏覽器中 工具->Internet選項(xiàng)->常規(guī) 下的 語(yǔ)言, 它就是用來(lái)設(shè)置瀏覽器可接受的語(yǔ)言首選項(xiàng)的, 它可以是多種可接受語(yǔ)言的優(yōu)先排序列。
下面以PHP為例,
用戶可接受的語(yǔ)言信息,放在$_SERVER['HTTP_ACCEPT_LANGUAGE']里,
變量信息是類似這樣的 "zh-cn", 如果是多語(yǔ)言列,是類似 "zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3"
下面的問(wèn)題可以迎刃而解了。
程序代碼
<?php
error_reporting(E_ALL ^ E_NOTICE);
// 分析 HTTP_ACCEPT_LANGUAGE 的屬性
// 這里只取第一語(yǔ)言設(shè)置 (其他可根據(jù)需要增強(qiáng)功能,這里只做簡(jiǎn)單的方法演示)
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;
}
?>
相關(guān)文章
Yii2框架實(shí)現(xiàn)注冊(cè)和登錄教程
這篇文章主要介紹了Yii2框架實(shí)現(xiàn)注冊(cè)和登錄教程的相關(guān)資料,需要的朋友可以參考下2016-09-09比較全的PHP 會(huì)話(session 時(shí)間設(shè)定)使用入門代碼
由于 Session 是以文本文件形式存儲(chǔ)在服務(wù)器端的,所以不怕客戶端修改 Session 內(nèi)容。實(shí)際上在服務(wù)器端的 Session 文件,PHP 自動(dòng)修改 Session 文件的權(quán)限,只保留了系統(tǒng)讀和寫權(quán)限,而且不能通過(guò) ftp 修改,所以安全得多。2008-06-06PHP使用json_encode函數(shù)時(shí)不轉(zhuǎn)義中文的解決方法
這篇文章主要介紹了PHP使用json_encode函數(shù)時(shí)不轉(zhuǎn)義中文的解決方法,給出一個(gè)自定義函數(shù)代替json_encode函數(shù)的功能,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11PHP5.3以上版本安裝ZendOptimizer擴(kuò)展
這篇文章主要介紹了PHP5.3以上版本安裝ZendOptimizer擴(kuò)展的方法,十分細(xì)致,推薦給有需要的小伙伴參考下。2015-03-03PHP實(shí)現(xiàn)簡(jiǎn)單實(shí)用的分頁(yè)類代碼
這篇文章主要介紹了PHP實(shí)現(xiàn)簡(jiǎn)單實(shí)用的分頁(yè)類代碼,結(jié)合實(shí)例形式分析了PHP分頁(yè)類的定義與使用技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2016-04-04PHP垃圾回收機(jī)制引用計(jì)數(shù)器概念分析
php變量存在一個(gè)叫"zval"的變量容器中,"zval"變量容器包括含變量的類型和值,還包括額外的兩個(gè)字節(jié)信息,分別是“is_ref”表示變量是否屬于引用,“refcount”指向這個(gè)zval變量容器的變量個(gè)數(shù)2013-06-06