はじめに

はじめに下記を読んでおくとわかりやすいともいます。Apache 2.2系を使っている人は前記事の参考サイトの方法を使うほうが簡単です。
メンテナンス中画面を出す正しい作法と.htaccessの書き方の注意点

また、WordPress にはメンテナンス画面を表示するプラグインもあるので、ほとんどの場合においてはそちらを使うほうが簡単です。
WordPress › Maintenance Mode « WordPress Plugins

この方法でメンテナンス画面を表示する場面

アップグレードの作業は、原則としてプラグインを停止して行うので、上記のメンテナンス画面の表示用のプラグインは使えない。
しかし、WordPress ver.2.7 以降は自動アップグレードが使えるようになりアップグレードも簡単になったので、わざわざメンテナンス画面を表示するほどの作業をするわけではない。

そういうわけで、手作業で WordPress のアップグレードする場合ぐらいしか有効な使い道はない。

現在 WordPress ver.2.8 は自動アップグレードに不具合があり、手作業でアップグレードする必要がある。ちなみに、このブログは手作業でアップグレードするのが面倒なのでいまだに ver.2.7.1 のまま。

メンテナンス画面の表示方法

wp-content/ 配下に maintenance ディレクトリを作成する。
※wp-content/plugin/ 配下とどちらにするか迷ったけど、厳密にはプラグインではないので混乱しないよう上記にした。

maintenance/ ディレクトリ配下に index.php と maintenance.html ファイルを置く。
※index.php と maintenance.html の内容は、メンテナンス中画面を出す正しい作法と.htaccessの書き方の注意点 を参照。

下記の .htaccess ファイルを作成し、トップのディレクトリに置く。
※パーマリンク設定をカスタムしたURL構造に変更していて、トップディレクトリに既に .htaccess が作成されていることを前提とする。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-content/maintenance/ - [L]
RewriteCond %{REMOTE_ADDR} !=XXX.XXX.XXX.XXX
RewriteRule ^.*$ wp-content/maintenance/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

※REMOTE_ADDR の 『XXX.XXX.XXX.XXX』 部分は 管理者の IP を入れておけば、管理者は作業することが出来る。
※WordPress のトップディレクトリが DocumentRoot ではないときは、RewriteRule の記述が変わるので注意。
※アップロードを完了した後に .htaccess を確認したら、自動的に通常の .htaccess に戻っていたが、どのタイミングで戻ったかは調査していない。

この記事のトラックバックURL

トラックバック一覧

この記事にはトラックバックがついていません。

コメント一覧

この記事にはコメントがついていません。

RSS feed for comments on this post.

コメント投稿

:b-ok: :b-ng: :b-heart: :b-heartbreak: :b-note: :b-idea: :b-!: :b-?: :b-sleep: :b-up: :b-down: :b-run: :b-tear: :b-sweat: :b-cat: :b-star: :b-glitter: :b-silent: :b-anger: :b-black: :b-neutral: :b-weep: :b-cry: :b-grin: :b-shock: :b-shy: :b-smile: :b-angry: :b-redangry: :b-depress: :b-glad: :b-relieve: :b-surprised: :b-tired: :b-fascinated: :b-oops: :b-amazed: :b-absent: :b-happy: :b-discouraged:

zontheworld
うまい焼肉が喰いたい。
HTML convert time: 0.267 sec. ( Login )