讓你的網(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)文章
PHP5中使用PDO連接數(shù)據(jù)庫(kù)的方法
PDO(PHP Data Object) 是PHP 5 中加入的東西,是PHP 5新加入的一個(gè)重大功能,因?yàn)樵赑HP 5以前的php4/php3都是一堆的數(shù)據(jù)庫(kù)擴(kuò)展來(lái)跟各個(gè)數(shù)據(jù)庫(kù)的連接和處理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等。2010-08-08
php日志函數(shù)error_log用法實(shí)例分析
這篇文章主要介紹了php日志函數(shù)error_log用法,結(jié)合實(shí)例形式分析了php日志函數(shù)error_log相關(guān)的配置文件設(shè)置、函數(shù)功能、用法與使用注意事項(xiàng),需要的朋友可以參考下2019-09-09
php ci 獲取表單中多個(gè)同名input元素值的代碼
這篇文章主要介紹了php ci 獲取表單中多個(gè)同名input元素值的代碼,需要的朋友可以參考下2016-03-03
Swoole實(shí)現(xiàn)異步投遞task任務(wù)案例詳解
這篇文章主要介紹了Swoole實(shí)現(xiàn)異步投遞task任務(wù)案例,結(jié)合實(shí)例形式詳細(xì)分析了Swoole異步投遞task任務(wù)的原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下2019-04-04
windows7下安裝php的imagick和imagemagick擴(kuò)展教程
這篇文章主要介紹了windows7下安裝php的imagick和imagemagick擴(kuò)展教程,同樣也適應(yīng)XP操作系統(tǒng),Win8下就沒(méi)測(cè)試過(guò)了,需要的朋友可以參考下2014-07-07
php5.3不能連接mssql數(shù)據(jù)庫(kù)的解決方法
這篇文章主要介紹了php5.3不能連接mssql數(shù)據(jù)庫(kù)的解決方法,針對(duì)php5.3之后不支持mssql_connect函數(shù)提供了對(duì)應(yīng)的解決方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
你應(yīng)該知道的PHP+MySQL分頁(yè)那點(diǎn)事
你應(yīng)該知道的PHP+MySQL分頁(yè)那點(diǎn)事,這篇文章主要為大家詳細(xì)介紹了PHP+MySQL分頁(yè)技術(shù),為大家提供了完整php分頁(yè)實(shí)例,感興趣的小伙伴們可以參考一下2016-08-08

