国家/地区地理位置将我重定向到错误的 link?
Country geolocation redirects me to the wrong link?
所以我有这个代码,我的 ip 来自国家 ph;
<?php
require_once('geoip.inc');
$gi = geoip_open('GeoIP.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
switch ($country) {
case 'ph':
$location = 'url/ph/index.php';
break;
case 'us':
$location = 'url/intl/index.php';
break;
case 'in':
$location = 'url/intl/index.php';
break;
default:
$location = 'url/intl/index.php';
break;
}
header('Location: '.$location.'');
?>
每当我尝试使用该代码访问我的网站并使用我自己的家庭 ip(菲律宾)时,它会一直在 intl/index.php 页面上重定向我。一切都在我的主目录中,例如 geoip.inc 和 geoip.dat。它们都已经在根文件夹中了。
有人知道我在这里缺少什么吗?谢谢!
函数 geoip_country_code_by_addr 以大写形式返回国家代码,例如 PH、US、IN 等,当您输入小写国家代码时,它始终包含默认数据。
因此需要将国家/地区代码更改为大写,例如
<?php
require_once('geoip.inc');
$gi = geoip_open('GeoIP.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
switch ($country) {
case 'PH':
$location = 'url/ph/index.php';
break;
case 'US':
$location = 'url/intl/index.php';
break;
case 'IN':
$location = 'url/intl/index.php';
break;
default:
$location = 'url/intl/index.php';
break;
}
header('Location: '.$location.'');
?>
所以我有这个代码,我的 ip 来自国家 ph;
<?php
require_once('geoip.inc');
$gi = geoip_open('GeoIP.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
switch ($country) {
case 'ph':
$location = 'url/ph/index.php';
break;
case 'us':
$location = 'url/intl/index.php';
break;
case 'in':
$location = 'url/intl/index.php';
break;
default:
$location = 'url/intl/index.php';
break;
}
header('Location: '.$location.'');
?>
每当我尝试使用该代码访问我的网站并使用我自己的家庭 ip(菲律宾)时,它会一直在 intl/index.php 页面上重定向我。一切都在我的主目录中,例如 geoip.inc 和 geoip.dat。它们都已经在根文件夹中了。
有人知道我在这里缺少什么吗?谢谢!
函数 geoip_country_code_by_addr 以大写形式返回国家代码,例如 PH、US、IN 等,当您输入小写国家代码时,它始终包含默认数据。
因此需要将国家/地区代码更改为大写,例如
<?php
require_once('geoip.inc');
$gi = geoip_open('GeoIP.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
switch ($country) {
case 'PH':
$location = 'url/ph/index.php';
break;
case 'US':
$location = 'url/intl/index.php';
break;
case 'IN':
$location = 'url/intl/index.php';
break;
default:
$location = 'url/intl/index.php';
break;
}
header('Location: '.$location.'');
?>