LoginSignup
9
9

More than 5 years have passed since last update.

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

Posted at

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

スーパーベーシックにメンテナンス画面を出す方法。
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

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9