2017-04-10 17 views

答えて

0

与えられたIPアドレスの地理的位置を提供し、ウェブサイトは、(実際には、多くがありますが、私はこの1つだけに焦点を当てます)があります: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"); 
} 

希望すると、これが役立ちます。

+0

実際には –

+0

に転送するとサイトが開かれません。たとえばde.example.comに行くとサイトは機能しますが、私のスクリプトを使用してそこに行くと動作していない??それはあなたが意味することですか? –

+0

まず変数 "countryCode"を "echo"しようとします。次に、その値に対応するサブドメインがプロジェクトに存在することを確認してください。 –

関連する問題