как перенаправить домен в соответствии с IP-адресом страны

Я сделал сайт с некоторыми подобластями; согласно IP-адресу страны, пользователь должен автоматически перенаправляться в соответствующий субдомен.

Пример :

Основной сайт – abcd.com

  • Предположим, что кто-то из Индии напечатал этот url abcd.com,
  • то страница перенаправляется на ind.abcd.com

Related of "как перенаправить домен в соответствии с IP-адресом страны"

Убедитесь, что на вашем сервере установлен модуль mod_geoip ( расширение GeoIP ).

Затем .htaccess файл .htaccess :

 GeoIPEnable On GeoIPDBFile /path/to/GeoIP.dat # Start Redirecting countries # Canada RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$ RewriteRule ^(.*)$ http://ca.abcd.com$1 [L] # India RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^IN$ RewriteRule ^(.*)$ http://in.abcd.com$1 [L] # etc etc etc... 

И вот официальная документация .

Загрузите класс geoPlugin из:

http://www.geoplugin.com/_media/webservices/geoplugin.class.phps

Поместите файл index.php в корневую папку:

 <?php require_once('geoplugin.class.php'); $geoplugin = new geoPlugin(); $geoplugin->locate(); // create a variable for the country code $var_country_code = $geoplugin->countryCode; // redirect based on country code: if ($var_country_code == "AL") { header('Location: http://sq.wikipedia.org/'); } else if ($var_country_code == "NL") { header('Location: http://nl.wikipedia.org/'); } else { header('Location: http://en.wikipedia.org/'); } ?> 

Вот список кодов стран:

http://www.geoplugin.com/iso3166

Вы можете сделать это без require_once('geoplugin.class.php'); вот так:

 <?php $a = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR'])); $countrycode= $a['geoplugin_countryCode']; if ($countrycode=='US') header( 'Location: http://example1.com' ) ; else header( 'Location: http://example2.com' ) ; ?> 

Если вы используете веб-сайт WordPress, его легко использовать – (плагин Geo Redirect). Он работает как шарм. Прост в использовании, легко реализуется.