【发布时间】:2013-03-17 22:41:35
【问题描述】:
我正在使用 geoplugin php 类构建一个支持多语言的网站来检测国家代码。这是我的地理定位代码:
//GEOLOCATE
$geoplugin = new geoPlugin();
$geoplugin->locate();
define('REAL_COUNTRY', strtoupper($geoplugin->countryCode));
//AVAILABLE COUNTRIES
function available_countries(){
$countries_array = array();
$sql = mysql_query("SELECT id FROM countries WHERE enabled = '1';") or die(mysql_error());
while($row = mysql_fetch_array($sql)) array_push($countries_array, $row['id']);
return $countries_array;
}
//RETURN COUNTRY CODE
function detect_language(){
if(isset($_COOKIE['country'])) return $_COOKIE['country'];
else if(isset($_SESSION['country'])) return $_SESSION['country'];
else if(in_array(REAL_COUNTRY, available_countries())) return REAL_COUNTRY;
else return 'EN';
}
根据返回的国家代码,我的 php 脚本然后从数据库中加载内容。
我希望链接格式如下:
英文网站:sitename.com/contact
德国网站:sitename.com/kontakt
斯洛文尼亚网站:sitename.com/kontakt
请注意,德语和斯洛文尼亚语站点的 URL 是相同的,但它仍然会根据 IP 和 geoplugin 返回的代码加载不同的内容。
该网站运行良好,但我担心的是 Google 和其他搜索引擎。 Google 是否会找到除“EN”以外的其他语言的页面,还是使用更经典的方法并向 URL 添加语言 ID 会更好,如下所示:
英文网站:sitename.com/zh/contact
德国网站:sitename.com/de/kontakt
斯洛文尼亚网站:sitename.com/si/kontakt
谢谢!
【问题讨论】:
标签: php url indexing multilingual