从国家/地区重定向中排除IP地址

时间:2013-04-10 15:07:34

标签: php exception geoip

我有这个代码块,目前将加拿大的任何人重定向到我们网站的加拿大版本:

<?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地址被自动重定向,以便他们也可以访问我们网站的美国和欧盟版本?

2 个答案:

答案 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添加其他条件,例如“远程地址不等于此字符串”。