如果缺少cookie,htaccess将重定向到文件夹

时间:2013-02-26 19:31:44

标签: .htaccess cookies

我想在htaccess中查看cookie是否具有特殊值。如果不是,我想将所有请求重定向到登录页面“/ login /”。这一步工作正常。

但现在我必须排除登录页面以避免无限重定向:

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

任何帮助将不胜感激......

1 个答案:

答案 0 :(得分:0)

我建议您使用特殊值 - 作为“替代”,这实际上与不执行任何操作相同。如果用户已经在登录页面上,这将阻止进一步的重写处理。

我还删除了重写条件,检查您是否在登录页面上,因为不再需要它。我还从底部重写规则中删除了主机名,并将其替换为相对网址/login/,但您可能有充分的理由按照自己的方式进行操作。

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

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