Как настроить редирект языка на основе cookie
Добавлено: 10.09.2020, 12:58
Здравствуйте. Может кто-то подскажет, как настроить правило перенаправления в .htaccess на основе cookie.
При смене языка обращаемся к js и записываем в cookie выбранный язык:
В .htaccess:
Проблема:
Данное правило работает, если вручную с адреса не убирать 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 (это плохо)
Буду благодарен если кто-то подскажет как исправить "это плохо".
При смене языка обращаемся к 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 (это плохо)
Буду благодарен если кто-то подскажет как исправить "это плохо".