1

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

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

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

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

4

1 回答 1

0

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

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

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

RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC]
RewriteRule ^(.*)$ /login/ [NC,L]
于 2013-02-26T20:31:46.833 回答