301リダイレクト設定したhtaccessのキャッシュはどうやっても消えない

301リダイレクト設定したhtaccessのキャッシュはどうやっても消えない
ページを0秒でリダイレクトする方法はいくつかありますが、301リダイレクトを使うとブラウザに強制的にキャッシュされてしまい、大げさに言えば半永久的にブラウザが古い301リダイレクト設定を読み続けます。

そのため、リダイレクト先のURLを変更しても、以前リダイレクトをブラウザで読み込んでいる閲覧者は永久的に古いリダイレクト先が表示され、古いページを見続けることになります。

一度読み込んでしまった301リダイレクトのキャッシュを書き換えたり削除したりする方法はありません。301リダイレクトはページの情報やリンクパワーなども引き継がせる、サイト移転やページ移転に最適なリダイレクト方法ですが、実際は永久リダイレクトとなるため、危険が伴います。

サーバー設定、htaccessの設定でブラウザのキャッシュをこちらから削除することはできない

1度読み込んでしまったhtaccessの301リダイレクト設定を、WEB製作者側で何とか上書きしたり、キャッシュをリフレッシュさせて削除する、これを皆が考えますが、それらは一切できないようになっています。

301でリダイレクト元A⇒リダイレクト先Bを読み込んだ場合

  • リダイレクト元A⇒リダイレクト先C の設定に変更しても機能しない
  • リダイレクト先Bを削除しても存在しないリダイレクト先Bを表示する
  • htaccess自体をサーバーから削除してもリダイレクトしてリダイレクト先Bを表示する

ブラウザが頑なに301リダイレクトのキャッシュを維持し続ける

一度301リダイレクトを読み込んだブラウザは、自分でキャッシュを削除しない限り半永久的に残り続けます。

Cache-Control: no-storeやno-cacheなどの設定も無意味。転送元のhtml削除や転送先html削除も無意味です。

各個人のブラウザのキャッシュを消してもらうしか無い

301リダイレクトをブラウザで一度でも読み込んでしまった場合、既に手遅れなので各個人のブラウザのキャッシュを削除してもらう以外に方法はありません。

キャッシュの削除方法

ChromeとEdge・・・F12を押したあと、更新ボタンを右クリックして「キャッシュの消去とハードの再読み込み」をクリックすると永久キャッシュされてしまった301リダイレクト設定が消えます。

Firefox・・・「設定」の「プライバシーとセキュリティ」の「履歴」を消去すると永久キャッシュされてしまった301リダイレクト設定が消えます。

301の永久キャッシュは地獄

安易に、というよりも間違えて301リダイレクトを設定しある程度期間が経過してしまうと、多くの閲覧者のブラウザに301リダイレクト設定が永久保存されてしまいます。自らキャッシュを完全に削除する人は稀なので、後々301リダイレクト先のURLを変更したとしても、既に過去の301リダイレクトを永久キャッシュしてしまった人たちは古いアドレスに自動転送されたままになってしまいます。

301の永久キャッシュ仕様は場合によっては取り返しのつかないことになるため、一時的に転送するなら302を使います。302リダイレクトはキャッシュさせないリダイレクトなので、転送先URLをコロコロ変える場合などに使います。

このエントリーをはてなブックマークに追加
シェアしていただけると嬉しいです

オシオ この記事を書いた人:オシオ
年に数回ガジェットを持って海外旅行へ行くガジェット系日本人。映像はG9 PRO II、ジンバルはOSMO POCEKT3、ドローンはDJI MAVIC MINI3 PRO使用。
運営者情報 | プライバシーポリシー
© SLOPOND