htaccess无法在Firefox中读取cookie

时间:2013-12-06 18:14:22

标签: javascript php .htaccess firefox cookies

我在.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);

请帮忙!

谢谢, 阿德里安

1 个答案:

答案 0 :(得分:1)

调试帮助:

FireBug / 控制台 - 如果设置并发送了Cookie,请查看标题

RewriteLog - 查找重写错误配置

启用:

RewriteLog /tmp/rewrite.log
RewriteLogLevel 3

(建议调试级别为3级)

另请参阅此问题:https://serverfault.com/questions/499246/how-do-i-make-rewritecond-http-cookie-match-a-cookie-value-exactly

作为替代方案,您可以在index.php或您正在加载的任何文件中使用PHP测试cookie,或者您可以将每个请求重定向到redir.php并检查此文件中的cookie。