我不是专家,但我正在尝试监控我的流量,我试图创建包含检测用户Geo并将其重定向到新页面的代码的页面
但它看起来像是缺少什么,我不知道是什么
我尝试使用此Geo redirect user just once using php
但我无法找到我的GeoIP.php
有人可以给我提示我需要什么才能让它发挥作用
由于 波阿斯
答案 0 :(得分:0)
你应该看一下:http://www.php.net/manual/en/function.geoip-continent-code-by-name.php
只需使用
$country = geoip_continent_code_by_name ( $_SERVER['REMOTE_ADDR'] );
$ country将返回2个字母的国家/地区代码。以下是您应该可以使用的内容:
<?php
//Get the country code of the user, using REMOTE_ADDR is the most reliable way to do this
$country = geoip_continent_code_by_name ( $_SERVER['REMOTE_ADDR'] );
//Create a switch case to deal with the country codes
switch((string)$country) {
case 'AU':
$url = "http://www.site.au";
break;
case 'CA':
$url = "http://www.site.ca";
break;
//default case means, if you didn't provide a case (country code in your example), do this (otherwise known as a "catch all")
default:
$url = "http://defaultsite.com";
} //End switchcase
//This if statement says as long as $url is not empty (! means not), update header location (this is the php way of forwarding)
if ( !empty($url) ){
header('Location: '.$url);
} //End if statement
?>
你会注意到我删除了try,catch块。这是用户偏好,但大多数人不喜欢它(使用开关盒就是你提供默认情况的原因)。
这应该100%为你工作。