某サイトで .htaccess に rewrite ルールを書いてリダイレクトの設定をしていたのですが、どうしてもうまく行きません。
何度見返しても間違いがあるとは思えません。事実間違っていなかったのですが、ふと、他のブラウザでやってみるかと、firefox や Edge でチェックしてみましたら、何の問題もなく設定通りのリダイレクトをします。
01Chrome の DNS キャッシュを消す
そういえば、Chrome は DNS もキャッシュしていたようなと思いだしググりました。
chrome://net-internals/#dns
と打ち、「Clear host cache」をクリックすれば消えるそうです。
で、やってみました。この画像は、一度クリア後に、別タブで Google のホームを開いた後にキャッシュされたものです。
で、本題のリダイレクトの件ですが、残念ながらうまく行きません。
02DNS キャッシュは1分?
原因はこれじゃないですね。しばらく上の画像のページを見ていたのですが、キャッシュ時間はかなり短く1分です。すぐに赤字で「[Expired]」となります。
念のため Windows のキャッシュも「ipconfig /flushdns」と消しましたが変わりません。
03原因は不明ですが…
ということで、なんだかんだしていましたら、いつのまにやらリダイレクトするようになっていました。
どこかに何かがキャッシュされているということになります。考えてみますと、本題のリダイレクトは、リダイレクト先も同じ ipアドレスですので、DNS キャッシュの問題ではないですね。ただ、Chrome にしか起きない。どういうことなんでしょうか?
DNS キャッシュは消えるが、問題は未解決です。
ちなみに、Firefox の DNS キャッシュは「DNS プリフェッチ機能」ってやつです。