我有一个drupal网站,我想根据国家/地区将访问者重定向到不同的页面。 我有这段代码:
require_once "Net/GeoIP.php";
$geoip = Net_GeoIP::getInstance("Net/GeoIP.dat");
try {
$geocode = $geoip->lookupCountryCode($_SERVER['REMOTE_ADDR']);
} catch (Exception $e) {
$geocode = 'EN';
}
switch ($geocode) {
case 'HU':
header('Location: http://www.example.com/hu');
break;
case 'GB':
header('Location: http://www.example.com/en');
break;
case 'AT':
header('Location: http://www.example.com/at');
break;
case 'CY':
header('Location: http://www.example.com/cy');
break;
case 'DE':
header('Location: http://www.example.com/de');
break;
case 'NL':
header('Location: http://www.example.com/nl');
break;
case 'CH':
header('Location: http://www.example.com/ch');
break;
case 'ES':
header('Location: http://www.example.com/es');
break;
case 'US':
header('Location: http://www.example.com/us');
break;
default:
header('Location: http://www.example.com/en');
}
这适用于普通的php文件。我怎么能在drupal中这样做? 如何将访问者重定向到正确的节点?
答案 0 :(得分:0)
您可能想要使用http://drupal.org/project/ip2locale
它支持GeoIP。
答案 1 :(得分:0)
我既不明白为什么不使用现有的解决方案,但仍然:你是否尝试将你的代码片段放在page.tpl.php中?只需确保所需库的路径正确。您可能希望将Net / GeoIP.php放入您的sites / all / libraries文件夹中,从而将 require_once“Net / GeoIP.php”更改为 require_once“../../libraries/Net /GeoIP.php“即可。这假设您的page.tpl.php位于 sites / all / themes / yourtheme /
内