2013-02-26 2 views
0

Я хотел бы проверить внутри htaccess, если cookie имеет специальное значение. Если нет, я бы хотел перенаправить все запросы на страницу входа/«login /». Этот шаг работает нормально.htaccess перенаправляет папку, если cookie отсутствует

Но теперь я должен исключить страницу входа, чтобы избежать бесконечных переадресовывает:

RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC] 
RewriteCond %{REQUEST_URI} !^/login/?$ 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/login/ [NC,L] 

Любая помощь будет оценена ...

ответ

0

Я предлагаю вам использовать специальное значение - как «подстановка», которая фактически такая же, как ничего не делает. Это предотвратит дальнейшую обработку перезаписи, если пользователь уже находится на странице входа.

Я также удалил условие перезаписи, которое проверяет, находится ли вы на странице входа, потому что она больше не нужна. Я также удалил имя хоста из нижнего правила перезаписи и заменил его относительным URL /login/, но у вас могут быть веские причины сделать это по-своему.

RewriteRule ^login/?$ - [NC,L] 

RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC] 
RewriteRule ^(.*)$ /login/ [NC,L] 
Смежные вопросы