2013-04-10 55 views
-2

我有這個代碼塊,目前重定向在加拿大的任何人對我們網站的加拿大版本:不包括IP地址

<?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

您可以將其他條件添加到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

OP還應該允許用戶選擇他們是否要重定向,並將該首選項存儲在會話變量中。 – Sammitch 2013-04-10 15:18:46

+0

@Sammitch同意。 – CharliePrynn 2013-04-10 15:20:37

0

使用&&if語句添加附加條件,如「遠程地址不等於這個字符串」。