我有一个非常小的脚本,但它有错误,希望这需要2分钟才能轻松修复。
我在做什么......我有网站,称之为website.com。主页上有链接。链接将带人到website.com/link
页面上的网站http://link是脚本。脚本是使用geoip来查明人是来自美国,英国还是其他人。
我想要它做的是将这个人转发到URL1(如果他们来自美国),转发人转发到URL2(如果他们来自英格兰),或转发人转到URL3(如果他们来自其他地方)。
无效的脚本部分是转发部分。我知道GEOIP脚本部分正常工作,因为我使用IMAGE1,IMAGE2和IMAGE3测试了它,并且它工作正常。所以问题是改变脚本,以便将人转发到另一个URL。
这是脚本。
<?php
require_once(ABSPATH.'geoip.inc');
$gi = geoip_open(ABSPATH.'GeoIP.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
if($country=='US')
echo '<?php
header( 'Location: http://www.google.com'; ) ;
?>';
elseif($country=='GB')
echo '<?php
header( 'Location: http://www.bing.com'; ) ;
?>';
else
echo '<?php
header( 'Location: http://www.yahoo.com'; ) ;
?>';
?>
答案 0 :(得分:0)
也许这足以重定向:
<?php
require_once(ABSPATH.'geoip.inc');
$gi = geoip_open(ABSPATH.'GeoIP.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
if ($country=='US')
header('Location: http://www.google.com');
elseif ($country=='GB')
header('Location: http://www.bing.com');
else
header('Location: http://www.yahoo.com');
?>
答案 1 :(得分:0)
让我们添加exit()。
<?php
require_once(ABSPATH.'geoip.inc');
$gi = geoip_open(ABSPATH.'GeoIP.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);
if ($country=='US')
{
header('Location: http://www.google.com');
exit();
}
elseif ($country=='GB')
{
header('Location: http://www.bing.com');
exit();
}
else
{
header('Location: http://www.yahoo.com');
}
?>