PHP-使手动语言选择器覆盖GeoIP重定向
我正在使用Maxmind的GeoIP重定向服务,但正如我们所知,它不是100%准确的。这就是为什么在我的网站标题上有一个手动语言选择器,所以被错误地重定向到错误国家的人可以更改它 问题是要给GeoIP本身添加一个异常,使手动选择器覆盖GeoIP,无法想出一些方法来实现它,考虑过使用cookie,但必须有更好的方法PHP-使手动语言选择器覆盖GeoIP重定向,php,overriding,geoip,Php,Overriding,Geoip,我正在使用Maxmind的GeoIP重定向服务,但正如我们所知,它不是100%准确的。这就是为什么在我的网站标题上有一个手动语言选择器,所以被错误地重定向到错误国家的人可以更改它 问题是要给GeoIP本身添加一个异常,使手动选择器覆盖GeoIP,无法想出一些方法来实现它,考虑过使用cookie,但必须有更好的方法 <?php include("geoip.inc"); $ip=$_SERVER['REMOTE_ADDR'];
<?php
include("geoip.inc");
$ip=$_SERVER['REMOTE_ADDR'];
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
$country_code = geoip_country_code_by_addr($gi, "$ip");
geoip_close($gi);
switch($country_code) {
case "BR": header("Location: https://mysite.com/br"); break;
case "ES": header("Location: https://mysite.com/es"); break;
default: header("Location: https://mysite.com");
}
?>
Select your language:
<a href="mysite.com">English</a>
<a href="mysite.com/es">Spanish</a>
<a href="mysite.com/br">Portuguese</a>
选择您的语言:
您需要不断更新数据库,以便尽可能准确,您可以使用列出的说明来完成此操作。在IP检测不正确的情况下,我会支持您对cookie的使用,并建议尽可能长地设置cookie的使用寿命