Как сделать правильный редирект для мультиязычного сайта

Вопрос в следующем.

Есть сайт, который доступен по нескольким адресам (в доменах.рф, .ru, .co.za).
Есть у сайта 2 языка, которые переключаются по добавлению /en или /ru

Есть задача сделать так, чтобы при переходе на сайт по адресам site.co.za и www.site.co.za происходила однократная переадресация на site.co.za/en

В .htaccess есть условие:
RewriteCond %{HTTP_HOST} ^www.site.co.za$
RewriteRule ^(.*)$ site.co.za/en/$1 [R=301,L]


При этом, если добавить аналогичный RewriteCond для адреса бе WWW, то получается бесконечный цикл.

Подскажите пожалуйста, как правильно организовать подобный редирект.
  • Вопрос задан
  • 4248 просмотров
Пригласить эксперта
Ответы на вопрос 2
@betal
Видимо надо сравнивать не с HTTP_HOST во втором условии а с
PATH_INFO
QUERY_STRING
REQUEST_URI
Точно не скажу, пишу такие вещи в nginx
Ответ написан
cCube
@cCube Автор вопроса
Проблема еще вот в чем – после того, как делается редирект (внешний) на site.co.za/en, происходит еще один редирект (внутренний) на site.co.za и дальше цикл. Можете посмотреть что я имею в виду введя вместо «site» «ntgk» в качестве имени сайта.
Ответ написан
Ваш ответ на вопрос

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

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