状況
サイト移転などを行い、古いサイトにアクセスされた際、どのページにアクセスされても、
「このサイトは新しいサイトに移転しました。移転先のURLは…5秒後にジャンプします」
みたいなページにリダイレクトさせたい場合など
やり方 – 1 非推奨
みたくする。
4行目の
RewriteRule ^「移転されました」ページ.html$ – [L]
の記述が無いと、
mod_rewrite 502 リダイレクトが繰り返し行われています
エラーになる。
やり方 – 2 推奨
どのページにアクセスしても一時的にメンテナンスページに飛ばす。
503にしとかないとSEO的にマズイ。
動作としては、8行目で503にリダイレクトさせると、1行目で定義したmaintenance.htmlに飛ぶ。
メンテナンス中に動作確認したい場合は、7行目のコメントを外して、「172.18.0.3」の部分をメンテナンスページに飛ばしたくない人のIPアドレスに変える。(IPアドレス縛りでアクセス制限)
やり方 − 2 の、注意点1
1行目、5行目、6行目のファイルパスを間違えるとServer Errorになる。
やり方 − 2 の、注意点2
maintenance.html の中で、画像ファイルを使うために「/maintenance/asset/img/logo.jpg」を指定している。
だから6行目で画像ファイルも許可しているんだけど、
maintenance.html の中で、画像ファイルのPathを「asset/img/logo.jpg」などと相対Pathで指定すると、画像が表示されない。絶対Pathで指定すること。
参考にしたサイト
Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方
コメント