Перенаправление пользователей На сайте есть 15 разделов с однойменными названиями с названиями русских городов. Пока посетитель должен сам вибирать с какого он города и только тогда ему видны телефоны и описание услуг в данном городе. Подскажите, пожалуйста, как можно реализовать автоматическое перенаправление посетителя на нужный адрес исходя из его IP-адреса? Буду благодарен за любую помощь.
qw1mb1, спасибо. Может кто-то, кто уже сталкивался с этим вопросом, может привести пример рабочего кода?
Вот тут в .HTACCESS файле прописывается: Code: GeoIPEnable On GeoIPDBFile /geoip/GeoIP.dat RewriteEngine on RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AM$ RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AO$ RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AQ$ RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AR$ RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AS$ RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AU$ RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AW$ RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AX$ RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AZ$ RewriteRule ^(.*)$ https://www.Website.com/europe$1 [L] То есть, если посетитель из любой из этих европейских стран, то его нужно перенаправить в раздел сайта /europe Но мне нужна идентификация не по странам (которые указаны в GeoIP.dat), а по русским городам. Вот я нашел библиотеку GeoLiteCity.dat, но вот не знаю, какие аргументы мне использовать для указания городов.. Мне например нужны Москва, Самара и другие. Информация в GeoLiteCity.dat в бинарном виде, а документации никакой нету. Как быть?
Если сервер nginx, можете использовать ngx_http_geoip_module, очень подробная инструкция: http://nginx.org/ru/docs/http/ngx_http_geoip_module.html Code: $geoip_city название города, например, “Moscow”, “Washington”. Посмотрел начинку GeoLiteCity-Location.csv, там все просто: Code: locId,country,region,city,postalCode,latitude,longitude,metroCode,areaCode и пример 23541,"RU","48","Moscow","",55.7522,37.6156,, Но будьте внимательны, в других странах тоже есть такие города.
Спасибо. Так можно же идентифицировать города по locId. Какую константу нужно прописать вместо "***_*****_***", используя GeoLiteCity? Code: RewriteCond %{ENV:***_*****_***} ^23541$ "***_*****_***" ~ "locId"