Чтение JS cookie в .htaccess и установка правил перенаправления на основе содержимого cookie - PullRequest
0 голосов
/ 09 апреля 2019

Как я могу обновить свои правила в .htaccess, чтобы правильно прочитать файл cookie на стороне пользователя и перенаправить на его основе?

По сути, у меня есть файл cookie с именем userstate, и его содержание является аббревиатурой от наших штатов. Например, в этом случае это AL (cookie был установлен пользователем при первом посещении радио-параметров), теперь я бы хотел перенаправить пользователя на www.domain.com/al/index.html, если cookie был установлен, в противном случае перенаправить в домашний каталог как www.domain.com/index.html

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} lang=([^;]+) [NC]
RewriteRule ^(.*)$ /$1?lang=%1 [NC,L,QSA]

RewriteCond %{HTTP_COOKIE} !^.*userstate.*$ [NC]
RewriteRule .* /login-error/set-cookie-first.cgi [NC,L]

1 Ответ

0 голосов
/ 19 апреля 2019

Вы либо перенаправляете, когда установлен cookie

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} ^.*userstate.*$ [NC]
RewriteRule ^(.*)$ www.domain.com/al/index.html [NC,L]

Или если вы хотите перенаправить, если cookie не установлен

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !^.*userstate.*$ [NC]
RewriteRule ^(.*)$ www.domain.com/index.html [NC,L]

Тебе нужен только один, хотя. Выберите другой в качестве стандарта:)

Документация:

https://www.askapache.com/htaccess/htaccess-fresh/#Set_Cookie_based_Requested_directory

https://aloneonahill.com/blog/url-rewriting-for-beginners/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...