Apacheの設定でサーバーメンテナンス中にメッセージを表示
hata坊に言われたので、メンテナンス中に「しばらくお待ちください」の画面を表示するようにしてみた。
環境はLampp(Xampp for Linux)のApache
.htaccessでうまいことやる方法はこちらのサイトを参考に。
今回はapacheのconfファイルでやってみた。
VirtualHostで設定している場合の例は次のような感じ。VirtualHostは前の記事を参考に。
<VirtualHost *:80>
DocumentRoot /opt/htdocs
ServerName hoge.exbridge.jp
ErrorDocument 403 /maintenance.html<Directory "/opt/htdocs">
AllowOverride All
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 192.168.0. 111.222.111.222
</Directory></VirtualHost>
通常は青い所を追記すれば大丈夫だと思う。
ErrorDocumentで403のエラーになった場合に参照するファイルを指定。この場合は/opt/htdocs/maintenance.htmlを参照する。
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 192.168.0. 111.222.111.222
この辺で特定のIPアドレスからのアクセスのみに制限する。詳しくはマニュアルで。設定が終わったらapacheを再読込。
# /etc/rc.d/init.d/lampp reload
ちなみにmaintenance.htmlの例は次のような感じ。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex,nofollow"/>
<title>サイト名</title>
</head>
<body>
只今メンテナンス中です。
今しばらくお待ちください...。
</body>
</html>
検索エンジンに登録されないようにしとく。文字コードは適宜設定。