Как я могу получить страну пользователя и переслать их на URL-адрес на основе этого?
Я смотрю конкретно на Австралию, Новую Зеландию, США, Великобританию и другие.
Предпочтительно с PHP, но при необходимости можно использовать Javascript.
Это может помочь вам получить страну, после чего вы можете перенаправить соответственно.
<?PHP function visitor_country() { $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = $_SERVER['REMOTE_ADDR']; $result = "Unknown"; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif(filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip)); if($ip_data && $ip_data->geoplugin_countryName != null) { $result = $ip_data->geoplugin_countryName; } return $result; } echo visitor_country(); // Output Coutry name [Ex: United States] ?>
ИЛИ в Javascript.
<html> <head> <script language="JavaScript" src="http://www.geoplugin.net/javascript.gp" type="text/javascript"></script> </head> <body> <script language="Javascript"> document.write("Welcome to our visitors from "+geoplugin_city()+", "+geoplugin_countryName()); // window.location = "http://www.yoururl.com"; /* you can forward user to url using this line of code according to your conditions </script> </body> </html>
Пожалуйста, проверьте приведенную ниже ссылку.
Как я могу определить страну посетителя и перенаправить его на конкретный веб-сайт?
Может быть, это вам поможет .. 🙂
Вы можете использовать имя geoip_country_by_name()
PECL с IP-адресом пользователя, чтобы получить свою страну:
<?php if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; } $country = geoip_country_name_by_name($ip); if ($country) { echo 'This host is located in: ' . $country; //header("Location: " . $somelocation); } ?>