RewriteRule を使用して htaccess でクッキングを作成しています。私のテストでは、この 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 を生成しないページでスクリプトを再度実行するとすぐに、最初の var_dump で Cookie が表示されます。
とにかく、この Cookie を取り除く方法はありますか、それとも、ブラウザーが保持しているものに常に翻弄されますか? ブラウザを再起動すると確かに消えますが、スクリプトの実行後にこれを消す必要があります。