メンテナンス中画面を出す正しい作法と.httaccessの書き方/安田 英久
今回は、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 ^.*$ -
しっかりバージョン
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 ^.*$ -
Header set Retry-After "Sun, 14 Jun 2009 6:00:00 GMT
* /maintenance.htmlの部分には、メンテ中であることを示すHTMLのパスを指定します。
* 192.168.0.4の部分には、管理者のIPアドレスを書きます。管理者IPアドレスがさらにある場合は行をコピーして増やせばOKですし、必要なければ行を削除してしまいます。
続きはこちら
この週末の土曜深夜〜日曜早朝にかけて、データセンターの設備メンテナンスのため、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 ^.*$ -
しっかりバージョン
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 ^.*$ -
Header set Retry-After "Sun, 14 Jun 2009 6:00:00 GMT
* /maintenance.htmlの部分には、メンテ中であることを示すHTMLのパスを指定します。
* 192.168.0.4の部分には、管理者のIPアドレスを書きます。管理者IPアドレスがさらにある場合は行をコピーして増やせばOKですし、必要なければ行を削除してしまいます。
続きはこちら