.htaccessを使ってリダイレクトをする際の注意

サイトを移転する際、.htaccessに301 (moved permanently)を指定してリダイレクトをさせたくなる。

しかし、多くのブラウザはHTTPステータスコード301を受け取ると、その移転先をキャッシュし、二度と古いサイトの.htaccessを読まなくなる。

これにより、移転のテストなどで.htaccessを何度か書き換えても、最初に読み込まれた内容のみが有効となり、後から書き換えたり、.htaccessを消したりしても、ブラウザは旧アドレスを自動で新アドレスに解釈してしまう。ブラウザによってはこのキャッシュは明示的に消せないこともあるようだ。

そこで、テスト時は307 (Temporary Redirect)にしておいて、問題のないことを確認してから301に書き換える、という作業が必要。