Help us understand the problem. What is going on with this article?

ウェブサイトでのメンテナンス画面の出し方(スーパーベーシック版)

More than 3 years have passed since last update.

メンテナンス画面の出し方まとめ

スーパーベーシックにメンテナンス画面を出す方法。
htaccessで飛び先変えてあげるような奴。
かなり枯れた手法だから、最近のレンタルサーバなら、どこでも使えるはず。

Rails上での、メンテナンス画面の出し方などは、別記します(いつか)。

htaccessとmainte.htmlを設置

メンテナンス用のHTMLと.htaccessを準備しましょう。
メンテナンス用のHTMLは単独表示できるようにCSSがなどはインラインで。

以下の書き方は一例なので、mainte.htmlなどは文言などは自由に編集を。

mainte.html
<!DOCTYPE html>
<html>
  <head>
    <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
    <title>システムメンテナンスのお知らせ</title>
  </head>
  <body>
    <div style='width: 640px; margin: 50px auto;'>
      <div style='border: 1px solid #ccc; padding: 30px; margin-top: 30px;'>
        <h2 style="color: #F00">システムメンテナンスのお知らせ</h2>
        <p>
          いつも◯◯をご利用いただき、ありがとうございます。<br />
          このたびサービス向上のため、システムメンテナンスを実施いたします。<br />
          下記時間帯でサービスがご利用いただけません。<br />
          お客さまには大変ご迷惑をおかけいたしますが、何卒ご了承いただけますようよろしくお願い申し上げます。
        </p>
        <p>
          ご不便をおかけいたしますがよろしくお願い申し上げます。
        </p>
      </div>
    </div>
  </body>
</html>
ErrorDocument 503 /mainte.html

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/mainte.html
  RewriteCond %{REQUEST_URI} !(javascripts)
  RewriteCond %{REQUEST_URI} !(stylesheets)
  RewriteCond %{REQUEST_URI} !(images)
  RewriteCond %{REMOTE_ADDR} !=111.111.111.111
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

解説

RewriteEngine ONで、リクエストのあったURLを転送する(この仕組で擬似静的化を実現するのですが)。

RewriteCond %{REQUEST_URI}
リクエストのあったら?という条件文みたいなもの。

!=/mainte.html
http://****/mainte.htmlへのアクセスは除外するぜ というもの。この場合、/mainte.htmlへのアクセスに対してはRewriteしないということ。

!(javascripts)
javascriptsディレクトリの下層を除外するぜ というもの。ディレクトリの場合はカッコで括る

RewriteCond %{REMOTE_ADDR} !=111.111.111.111
111.111.111.111には自分たちのグローバルIPに置き換えましょう。
グローバルIPがなければ、この行自体不要。
これは自分のIPだけはメンテナンス画面に飛ばないという除外設定(ほかの人達はメンテに飛ぶ)。

RewriteRule ^.*$ - [R=503,L]
全アクセスを503にする(ifModuleの上に503の時は/mainte.htmlを出せと書かれている)

参考:
http://web-tan.forum.impressrd.jp/e/2009/06/16/5880
http://q.hatena.ne.jp/1315913774

favy
デジタルマーケティングのスペシャリストと飲食業界出身の食のスペシャリストでチームは構成されていて、飲食市場に特化したマーケティング支援を軸に「飲食店がかんたんに潰れない世界を創る」を真剣に実現するためにチャレンジしています。
http://www.favy.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away