山pの楽しいお勉強生活

勉強の成果を垂れ流していきます

301リダイレクト(恒久的な移転)は一度リダイレクトされると、その後にコンテンツができていてもリダイレクトされる。

概要

サーバが301リダイレクトを返してきた場合、ブラウザはリダイレクト先のURLをキャッシュして、次に元のURLにアクセスした際には直接リダイレクト先のURLにアクセスする。

  • 元URLにアクセスしないので、現在はコンテンツがあっても考慮されない!
  • この現象自体を知らないと原因究明が出来なくてハマる。っていうかハマった。

  1. http://example.com/hoge」にアクセス。
  2. 301が返ってきて「http://example.com/piyo」にリダイレクト。
  3. http://example.com/hoge」にアクセス。
  4. http://example.com/hoge」にアクセスすることなく「http://example.com/piyo」が表示。

解決方法

  • この状態になってしまったらブラウザのキャッシュ削除。
  • 301はあくまでも恒久的な移転。用途によって302(コンテンツが存在するけど移動する)、306(将来のための予約)、307(一時的な移転)などを使用すべき。

参考URL