我有这个代码块,目前将加拿大的任何人重定向到我们网站的加拿大版本:
<?php
require_once('geoip.inc');
$gi = geoip_open('GeoIP.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
// prints the country code your visitor is in
if($country == 'CA')
{
header('Location: http://www.WEBSITE.ca');
exit();
}
// the end
geoip_close($gi);?>
我想知道的是如何排除加拿大某人的IP地址被自动重定向,以便他们也可以访问我们网站的美国和欧盟版本?
答案 0 :(得分:2)
您可以在if语句中添加另一个条件。
$ip = $_SERVER['REMOTE_ADDR'];
if($country == 'CA' && $ip !== '127.0.0.1')
{
header('Location: http://www.WEBSITE.ca');
exit();
}
$ ip将是当前正在查看该站点的人的IP地址。 您可以通过以下方式获得:
$_SERVER['REMOTE_ADDR'];
答案 1 :(得分:0)
在&&
语句中使用if
添加其他条件,例如“远程地址不等于此字符串”。