我正在使用 RewriteRule 在 htaccess 中创建烹饪。在我的测试中,我根本无法让这个 cookie 消失。这是我创建 cookie 的方式,我在这个线程中得到了帮助:
[L,CO=redirect_indicator:yes:.www.example.com,R=301]
所以 cookie 有默认的过期时间,应该只是浏览会话的持续时间。我试图在我的脚本结束时销毁它,我只是得到令人困惑的结果。
因此,我将在脚本顶部执行此操作以查看 cookie 以进行测试:
var_dump($_COOKIE['redirect_indicator']);
然后在我的脚本结束时,我运行以下命令(在这里的另一个堆栈线程的帮助下)我也尝试了比这更简单的销毁脚本,但似乎没有一个可以解决问题:
if (isset($_SERVER['HTTP_COOKIE'])) {
$cookies = explode(';', $_SERVER['HTTP_COOKIE']);
foreach($cookies as $cookie) {
$parts = explode('=', $cookie);
$name = trim($parts[0]);
setcookie($name, '', time()-1000);
setcookie($name, '', time()-1000, '/');
}
}
现在在该代码部分之后,我也再次运行它:
var_dump($_COOKIE['redirect_indicator']);
事实上,cookie 不存在!这很好,但是当我在不应生成 cookie 的页面上再次运行脚本时,cookie 仍然会在我的第一个 var_dump 期间出现。
有没有办法摆脱这个 cookie,或者我会永远受制于浏览器存储的内容。当我重新启动浏览器时它确实消失了,但是在脚本执行后我需要这个东西消失。