Я сделал сайт с некоторыми подобластями; согласно IP-адресу страны, пользователь должен автоматически перенаправляться в соответствующий субдомен.
Пример :
Основной сайт – abcd.com
ind.abcd.com
Убедитесь, что на вашем сервере установлен модуль 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/'); } ?>
Вот список кодов стран:
Вы можете сделать это без 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). Он работает как шарм. Прост в использовании, легко реализуется.