メンテナンス中画面を出す正しい作法と.httaccessの書き方

2009.06.23

経営・マネジメント

メンテナンス中画面を出す正しい作法と.httaccessの書き方

安田 英久
株式会社インプレスビジネスメディア Web担当者Forum編集長

今回は、Webサイトやサービスをメンテナンス中にする場合に、どのURLにアクセスしても「メンテナンス中です」の画面を出す正しいやり方を、人間にも検索エンジンにも適切にするやり方を解説します。

この週末の土曜深夜~日曜早朝にかけて、データセンターの設備メンテナンスのため、Web担を含むインプレスグループのほとんどのWebサイトが、どのURLにアクセスしても「メンテ中です」という表示になっていました。

なのですが、その実装がちょっと気になったので、「正しいメンテナンス画面の出し方」を説明してみます。

メンテ中画面を出す正しいApacheの設定

結論としては、正しいやり方は次の2ステップになります。

1.メンテ中画面を出すWebサーバーに/maintenance.htmlというファイルを作り、人間に対して表示するメッセージをHTMLで書く。
2. .htaccess(またはhttpd.conf)で、次のどちらかのように設定する。

最低限バージョン

ErrorDocument 503 /maintenance.html


RewriteEngine On
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteRule ^.*$ - [R=503,L]

しっかりバージョン

ErrorDocument 503 /maintenance.html


RewriteEngine On
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteCond %{REMOTE_ADDR} !=192.168.0.4
RewriteCond %{REMOTE_ADDR} !=192.168.0.5
RewriteRule ^.*$ - [R=503,L]


Header set Retry-After "Sun, 14 Jun 2009 6:00:00 GMT

* /maintenance.htmlの部分には、メンテ中であることを示すHTMLのパスを指定します。
* 192.168.0.4の部分には、管理者のIPアドレスを書きます。管理者IPアドレスがさらにある場合は行をコピーして増やせばOKですし、必要なければ行を削除してしまいます。
* Sun, 14 Jun 2009 06:00:00 GMTの部分には、メンテ終了予定時刻をGMTで指定します(メンテ終了までの秒数でも出せますが、終了時刻をRFC1123形式で示すほうが楽でしょう)。ただし、ここに指定する値は人間のユーザーには基本的に示されませんし、あくまでも参考データです。

これで、どのURLにアクセスしても、ブラウザに表示されるURLはそのままで、メンテ中を示すページが表示され、しかも、HTTPレスポンスコード503(過負荷/メンテで一時的に利用不可)が返るので、検索エンジンに対しても一時的なメンテだと理解され、メンテ画面がインデックスされることはありません。

次のページどういった設定だとまずいのか

続きは会員限定です。無料の読者会員に登録すると続きをお読みいただけます。

Ads by Google

この記事が気に入ったらいいね!しよう
INSIGHT NOW!の最新記事をお届けします

安田 英久

株式会社インプレスビジネスメディア Web担当者Forum編集長

企業のウェブサイト活用やウェブマーケティングに関するメディア「Web担当者Forum」(http://web-tan.forum.impressrd.jp/)を運営しています。

フォロー フォローして安田 英久の新着記事を受け取る

一歩先を行く最新ビジネス記事を受け取る

ログイン

この機能をご利用いただくにはログインが必要です。

ご登録いただいたメールアドレス、パスワードを入力してログインしてください。

パスワードをお忘れの方

フェイスブックのアカウントでもログインできます。

INSIGHT NOW!のご利用規約プライバシーポリシーーが適用されます。
INSIGHT NOW!が無断でタイムラインに投稿することはありません。