Как сделать редирект на русскую и английскую версию сайта?

На хостинге две директории: ru и en, для русскоязычных и англоязычных пользователей соответственно. Как сделать так, чтобы при заходе с русских, беларусских,украинских и казахских ip адресов кидало на ru директорию, а с остальных - в en?
  • Вопрос задан
  • 1064 просмотра
Пригласить эксперта
Ответы на вопрос 5
archakov06
@archakov06
Frontend-разработчик (ReactJS)
Зачем по IP?! Можно же узнать какой язык используется у юзера и уже делать редирект. Это убожество делать по IP. Вот тебе решение
Ответ написан
romy4
@romy4
Exception handler
поставить базу ip адресов (или со стороннего сервиса, но это очень долго) и в зависимости от — перекидывать куда надо
Ответ написан
Комментировать
Wolfnsex
@Wolfnsex Куратор тега PHP
Если не хочешь быть первым - не вставай в очередь!
Среди прочего, браузер обычно сам выдаёт набор предпочитаемых пользователем языков, практически готовое решение + список "русскоговорящих" языков есть тут. Но если очень хочется именно по IP и/или браузер не прислал набор предпочитаемых языков (*я бы в этом случае просто перекинул на EN), то можно воспользоваться готовым решением для PHP.
Ответ написан
Комментировать
zoonman
@zoonman
⋆⋆⋆⋆⋆
Правильное решение - использовать информацию из заголовков об используемом языке.
Если же не удается определить язык по данным из браузера, следует опираться на определение через Ip-адрес. Просто опирайтесь на код страны. Если не найдена, то всегда открывайте версию на английском языке.
Ответ написан
Комментировать
@Formula_1
Можно попробовать определять местоположение через геотаргетинг
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы