Я не являюсь мастером Apache/.htaccess.Язык (сохранен в cookie), определенная навигация
Для URL: base-url/destination/
, мне нужно показать страницу на том языке, который был сохранен в файле cookie. Если ни один язык, который мы не сохранили в файле cookie, или если файл cookie отсутствует, мне нужно показать страницу так же, как и язык браузера.
Теперь для того, чтобы достичь этого, я написал правила в .htaccess
файле как:
RewriteCond %{REQUEST_URI} /destination/$
RewriteCond %{HTTP_COOKIE} language_uiAAA(\w{3}).*?BBB
RewriteRule ^(.*)\$ $httpbase/%1/destination.html
Это правильно показывает страницу на языке, сохраненной в куки.
Но, меня попросили написать правила, используя SetEnvIf, SetEnvIfNoCase or prefer-language
.
Таким образом, я гугл и написал эти правила:
SetEnvIf ^Cookie$ "(.+)" HTTP_MY_COOKIE=$1
SetEnvIf HTTP_MY_COOKIE ".+language_uiAAA(.+?)BBB.+" saved_language=$1
SetEnvIf saved_language "^(.+)$" prefer-language=$1
Но эти правила не работают. Пожалуйста помоги.
ИЛИ
Пожалуйста, предложить лучший способ.
Почему вы отметите этот "Perl"? – innaM
Я использовал Perl для записи этого файла '.htaccess'. Я думал, у великих монахов Перла может быть ответ на это! –