Страница 1 из 1

Как настроить редирект языка на основе cookie

Добавлено: 10.09.2020, 12:58
wnemy
Здравствуйте. Может кто-то подскажет, как настроить правило перенаправления в .htaccess на основе cookie.

При смене языка обращаемся к js и записываем в cookie выбранный язык:

Код: Выделить всё

$('#lang_ua').on('click', function(){
   document.cookie = "lang=ua; path=/;";
});

$('#lang_ru').on('click', function(){
   document.cookie = "lang=ru; path=/;";
});


В .htaccess:

Код: Выделить всё

RewriteCond %{HTTP_COOKIE} lang=(ua) [NC]
RewriteRule ^/?$ /%1 [L,R]


Проблема:
Данное правило работает, если вручную с адреса не убирать ua.
К примеру при выборе Укр. языка нас перенаправляет на http://okay.loc/ua и записывается в куки lang=ua.
Если ввести в адрес http://okay.loc/ то редиректом отправляет на http://okay.loc/ua т.к. в куках lang=ua (это хорошо)
Если перейти на http://okay/brands то оно не редиректит на http://okay/ua/brands хотя в куках всё так же lang=ua (это плохо)

Буду благодарен если кто-то подскажет как исправить "это плохо".