Chromeでリダイレクトの設定が解除されない時の対処方法をまとめました。
先日「Redirection」というWordpressのプラグインにて301リダイレクトを設定した後、プラグインを削除したのにもかかわらずリダイレクトが解除されないという事態に陥りました。
調べたところChromeブラウザは301リダイレクトの設定をブラウザキャッシュに保存するのが仕様のようです。
キャッシュの無効化とリダイレクトキャッシュの削除方法を解説します。
リダイレクトキャッシュの無効化と削除
まずは陥った状況説明から…プラグインのリダイレクト処理を確認するため
- リダイレクト元となる「古いページ」
- リダイレクト先となる「新しいページ」
を作成しました。
古いページにアクセスすると新しいページにリダイレクトされるという簡単なもの。
そして動作確認した後、リダイレクト設定を解除しプラグインも削除しました。
プラグインの削除後、リダイレクトが解除されているか確認するため「古いページ」にアクセスしてみました。
すると解除したはずのリダイレクト設定が反映されておらず、古いページが表示されるはずが新しいページにリダイレクトされてしまいました。
調べたところChromeは301リダイレクトをブラウザキャッシュとして保存するようで、リダイレクトが解除されないのはこのキャッシュが原因とのことでした。
ポイント
同じような状況の場合は、まず他のブラウザできちんとリダイレクト設定が反映されているか確認すると良いです。他ブラウザで反映されている場合はChromeのブラウザキャッシュが原因の可能性大です。
対処法1.一時的にキャッシュを無効化する
Chromeのデベロッパーツールの機能の1つにブラウザキャッシュを一時的に無効化する機能があります。
この機能を使うことでリダイレクトキャッシュを一時的に無効化し、リダイレクトがリアルタイムで反映されるようにしましょう・w・
注意ポイント
デベロッパーツールが起動している間だけキャッシュが無効になります。
まずはページ上で右クリックを押し、メニューから検証をクリックしてデベロッパーツールを起動しましょう。
続いて「Network」タブに移動します。
そして「Disable cache」にチェックを入れます。
これでブラウザキャッシュが一時的に無効になりリダイレクト設定も反映されます。
対処法2.リダイレクトキャッシュを削除する
続いて、リダイレクトに関する設定が保存されたブラウザキャッシュそのものを削除してしまう方法です。
該当キャッシュは「キャッシュされた画像とファイル」という項目にあります。
ではさっそく削除しましょう・w・
Chromeの画面右上にあるメニュー()から設定を開きます。
Chromeの設定画面が開くので、左側メニューの「プライバシーとセキュリティ」に進みます。
そして「閲覧履歴データの削除」をクリック。
閲覧履歴データの削除という画面が開きます。
ここで「キャッシュされた画像とファイル」のみにチェックを入れます。
あとはデータを削除をクリックすればOK!
これでChroemのリダイレクトキャッシュが削除されます。
Chromeで以下のURLに直接アクセスしても同様の画面が開けます。
chrome://settings/clearBrowserData
リダイレクトの動作確認
キャッシュクリアが出来たら確認してみます。
リダイレクト元である「古いページ」にアクセス…
するとリダイレクトされることなく古いページが表示されました!
まとめ
Chromeは「キャッシュされた画像とファイル」内に301リダイレクト設定も保存しているようなので、リダイレクトが解除(反映)されない場合はブラウザキャッシュを疑いましょう。
はじめはサーバー側のキャッシュが原因だと思っていたのですが、ブラウザ側の問題でした…知らないと変なところで詰まってしまいますね。