Soprano
Комбинатор
- Регистрация
- 11 Апр 2009
- Сообщения
- 656
- Реакции
- 980
- Автор темы
- #11
А вот я нашел вариант, где вроде базу подключать не нужно, достаточно в Расширениях PHP включить модуль GeoIP
.htaccess: Редирект в зависимости от IP-адреса пользователя
Идея такова: по IP-адресу пользователя определяем его страну и перенаправляем на ту страничку сайта, которая ему подойдёт больше всего.
Для возможности это реализовать в Apache должен быть установлен модуль «GeoIP».
Разберем пример:
RewriteEngine On
# Модуль GeoIP может быть включен по умолчанию,
# в этому случае следующая строка не нужна
GeoIPEnable On
#Если запрошен корень сайта (без явно указанной странички)
RewriteCond %{REQUEST_URI} ^/$ [NC]
# и если страна "RU" или "UA"
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} (RU|UA) [NC]
# то редиректим на русскоязычную версию сайта
RewriteRule .* Для просмотра ссылки Войдиили Зарегистрируйся [R=302,L]
# Если запрошен корень сайта (без явно указанной странички)
# и, методом исключения понятно, что страна не "RU" и не "UA"
RewriteCond %{REQUEST_URI} ^/$ [NC]
# то редиректим на англоязычную версию сайта
RewriteRule .* Для просмотра ссылки Войдиили Зарегистрируйся [R=302,L]
Как можно догадаться с этого примера, переменная «%{ENV:GEOIP_COUNTRY_CODE}» возвращает нам код страны в зависимости от IP-адреса пользователя.