WordPressでメンテナンス中や工事中のページを表示する
- 2009-09-15
- WordPress
現在、WordPressを使って依頼されたサイトを作成中なんですが、どうしてもメンテナンス画面を表示しなければいけなくなり、色々と調べることに。Maintenance Mode Pluginというメンテ用のプラグインもあるんだけど、WordPress2.7.1までしか対応していない様子。試しにインストールしてみたら案の定エラーがはしったので、仕方なくhtaccessでリダイレクトをする方法を試してみました。
参考サイト: メンテナンス中画面を出す正しい作法と.htaccessの書き方の注意点
上記記事の方法をそのまま利用させて頂きました。ただ、一箇所引っかかった部分があったので、詳しくない人にもわかるように、以下にて説明します。
メンテナンス画面を表示させる手順
まずは、WordPress本体と同じディレクトリ(フォルダ)に503というフォルダを新規に作成。
次に、以下をindex.phpとして保存し、作成した503フォルダ内にアップロード。
<?php header ('HTTP/1.0 503 Service Temporarily Unavailable'); include(dirname(__FILE__) . '/maintenance.html'); ?>
上記PHPはエンコードをUTF-8にする場合、BOMなしで保存する。これがわからなくて、最初にエラーがはしりました。
次に、閲覧者に見せるページを作成して、maintenance.htmlと名前を付け、503フォルダ内にアップロード。ページに画像を使用している場合は、画像ファイルも同じく503フォルダ内にアップロードします。
テキストエディタにて以下を記入し、ファイル名を.htaccessとして保存。パーマリンクをカスタム構造に変更していて、すでにhtaccessが作成されている場合は、下の方にでも追記して上書きして下さい。
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^503/ - [L] RewriteCond %{REMOTE_ADDR} !=XXX.XXX.XXX.XXX RewriteRule ^.*$ 503/index.php </IfModule>
XXX.XXX.XXX.XXXの部分に自分のIPアドレスを入力すると、自分だけ通常通り表示されるので、閲覧者を気にすることなく作業ができます。まずは、正常にメンテ画面が表示されているかを確認してから入力した方がいいですね。
自分のIPアドレスがわからない人は IPアドレス・ホスト名確認 にアクセスすると表示されます。
最後に、WordPress本体と同じフォルダに、作成したhtaccessをアップロードして完了です。
メンテナンス表示が必要なくなった場合は、今回htaccessファイルに記述した部分を削除し、ほかアップロードしたファイルを全て削除すればいいだけです。
WordPressをインストールした状態で、急遽メンテナンス表示をしなければいけない場合は、試してみて下さい。