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

.htaccess 如果缺少cookie,则htaccess重定向到文件夹,.htaccess,cookies,.htaccess,Cookies,我想在htaccess中检查cookie是否有特殊值。如果没有,我想将所有请求重定向到登录页面“/login/”。这一步很有效 但是现在我必须排除登录页面以避免无休止的重定向: RewriteCond %{HTTP_COOKIE} !cookie-name=test [NC] RewriteCond %{REQUEST_URI} !^/login/?$ RewriteRule ^(.*)$ http://%{HTTP_HOST}/login/ [NC,L] 任何帮助都将不胜感激……我建议您使用

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

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

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

任何帮助都将不胜感激……

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

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

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

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