繁体   English   中英

MaxMind GeoIP重定向一切?

[英]MaxMind GeoIP redirects everything?

我想将用户从特定国家/地区重定向到另一种语言。 因此,我已将MaxMind的GeoIPv6.dat和geoip.inc上传到我的网页文件夹中。

我在index.php的标题中使用以下脚本:

<?php

require_once('geoip.inc');

$gi = geoip_open('GeoIPv6.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);

$my_countries = array('AT', 'DE');
if (!in_array(strtolower($country), $my_countries))
{
header('Location: http://www.de.mywebsite.com');
}
else
{
header('Location: http://www.mywebsite.com');
}
?> 

奇怪的是,该脚本将所有人转发到de.mywebsite.com? 这是为什么? 我该如何解决这个问题?

谢谢你的帮助!!!

除了来自德国和奥地利的访客外,您将所有人重定向到德国站点。

你可能想要

if (in_array(strtolower($country), $my_countries))

没有反转条件的感叹号。

哦,还有@Alex在他的回答中说的话。

您将国家/地区代码转换为小写,但使用大写为您的数组播种:

$my_countries = array('AT', 'DE');
if (!in_array(strtolower($country), $my_countries))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM