やっぱり .htaccess わからん

Cookie の内容によって、特定のディレクトリのページを Not Found のフリをして非表示にしようと思って以下のように書いたのだけど

RewriteCond %{HTTP_COOKIE} !logged_in=true
RewriteRule .* /404 [L]

Cookie がない場合に、Chrome だとトップページにリダイレクトされてしまう
Safari も Firefox も入力された URL のままで Not Found が表示されるのに

別のディレクトリにも同じ .htaccess を設置したら、そちらは正しく Not Found が表示される

なんなら、最初に設置したときはトップページに飛ばすように書いていたのだけどなぜか Not Found が表示されたので、それなら飛ばさずに Not Found を表示すればいいと思い書き換え先の URL を上記のように変更したら逆にリダイレクトされるようになった

.htaccess の挙動がブラウザによって違うというのはどういうわけなんだろう?

で、問題のディレクトリの名前を変えてみたら、先ほどの別のディレクトリのように正しく動作した
名前を戻すとやはりダメ

キャッシュ???

Chrome のキャッシュを削除したら正しく動作するようになった

.htaccess をいじってて R=301 を書いた気もするから、その時の状態を Chrome が覚えた?
そういえば、Cookie を正しくセットしてアクセスしてもリダイレクトされてたわ

なるほど、301 Moved Permanently をちゃんと解釈してるということなのね

それはともかく、Safari で初回アクセス時だけ、URL が /404 になるのが謎
二度目以降は正しく URL そのままで Not Found
再起動するとまた発生する
さっぱりわからん