Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

Organization

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

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

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

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
10
Help us understand the problem. What are the problem?