我想在htaccess中查看cookie是否具有特殊值。如果不是,我想将所有请求重定向到登录页面“/ login /”。这一步工作正常。
但现在我必须排除登录页面以避免无限重定向:
RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC]
RewriteCond %{REQUEST_URI} !^/login/?$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/login/ [NC,L]
任何帮助将不胜感激......
答案 0 :(得分:0)
我建议您使用特殊值 - 作为“替代”,这实际上与不执行任何操作相同。如果用户已经在登录页面上,这将阻止进一步的重写处理。
我还删除了重写条件,检查您是否在登录页面上,因为不再需要它。我还从底部重写规则中删除了主机名,并将其替换为相对网址/login/
,但您可能有充分的理由按照自己的方式进行操作。
RewriteRule ^login/?$ - [NC,L]
RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC]
RewriteRule ^(.*)$ /login/ [NC,L]