我在.htaccess文件中有以下代码在Firefox 25中无效。它适用于Chrome,IE,Safari。
Header unset Cache-Control
Header append Cache-Control "no-cache, must-revalidate"
RewriteEngine on
RewriteCond %{HTTP_COOKIE} !^.*userloggedin.*$[OR]
RewriteCond %{HTTP_COOKIE} userloggedin=x
RewriteRule .* http://www.bostonneca.org/redir.php
我使用代码检查是否设置了cookie。如果未设置,则将用户重定向到登录页面。登录后,用户可以访问该文件夹。
setcookie('userloggedin', 'ok', time() + 60 * 60 * 5);
我猜这是服务器问题,因为我无法使用setcookie删除cookie('userloggedin','',time() - 1); 为了避免这个问题,我在注销时写了一个cookie
setcookie('userloggedin', 'x', time() + 60 * 60 * 5);
请帮忙!
谢谢, 阿德里安
答案 0 :(得分:1)
调试帮助:
FireBug / 控制台 - 如果设置并发送了Cookie,请查看标题
RewriteLog - 查找重写错误配置
启用:
RewriteLog /tmp/rewrite.log
RewriteLogLevel 3
(建议调试级别为3级)
作为替代方案,您可以在index.php或您正在加载的任何文件中使用PHP测试cookie,或者您可以将每个请求重定向到redir.php
并检查此文件中的cookie。