我的WordPress网站托管在nginx服务器上。现在,我创建了一个子域名,例如us.example.com当网站在美国开放时,如何根据国家/地区更改WordPress URL,即us.example.com?
答案 0 :(得分:0)
有一个网站提供给定ip的地理位置(实际上有很多,但我只关注这个):http://ip-api.com/
您可以使用他们提供的信息将访问者重定向到相应的子域,如下所示:
$this_ip = $_SERVER["REMOTE_ADDR"];
$get_ip_info = file_get_contents("http://ip-api.com/json/".$this_ip);
$ip_info = json_decode($get_ip_info);
$countryCode = strtolower($ip_info->{"countryCode"});
header("Location: http://".$countryCode.".example.com");
当然,有很多国家,因为实际上不可能为每个国家维护一个子域名,你可以使用" if"缩小重定向选项的声明:
if($countryCode=="fr"){ //french
header("Location: http://fr.example.com");
}else
if($countryCode=="de"){ //german
header("Location: http://de.example.com");
}else
if($countryCode=="gr"){ //greek
header("Location: http://gr.example.com");
}else{ //universal
header("Location: http://www.example.com");
}
希望这能帮到你!