【サブディレクトリ対応】.htaccessを使ったメンテナンスモードの使い方

7642 Views
htaccess
【サブディレクトリ対応】.htaccessを使ったメンテナンスモードの使い方

規模の大きいサイトのリニューアルや、ディレクトリ毎に役割を持ったサイトを運営している時にこのディレクトリのみ修正作業やWordPressのバージョンアップを行いたい!
ってなったことはありませんか?

今回ディレクトリ毎にWordPressをインストールしており、
それぞれアップデートとHTTPS化を行って欲しいという依頼がありました。

そのためディレクトリ毎にhtaccessを追加・編集しメンテナンスモードを使ったのでその方法をご紹介。

SNSでシェア♪

スポンサーリンク

目次

まずはメンテナンスモード中ですよのhtmlファイルを作る

メンテナンスモードにしたいディレクトリに「mente.html」を作ります。
今回はメンテナンスモードを行いたいディレクトリ名を「/hoge/」として進めていきます。
※ルート直下からメンテナンスモードにする場合は「/hoge」をなくした状態で進めてください(最後のスラッシュは消さない)

 

HTMLの中身は以下のサンプルをご使用いただければ良いかと思います。

<!DOCTYPE html>
<html lang="ja">
	<head>
		<meta charset="utf-8">
		<title>メンテナンス中です</title>
	</head>

	<body>
		<div style="padding: 100px 0;">
			<p style="text-align: center; font-size: 30px; color: #f00;">
				メンテナンス中です
			</p>
			<p style="padding: 25px 0; text-align: center;">
				申し訳ございません。只今メンテナンス中です。<br>
				メンテナンスの終了まで今しばらくお待ちくださいませ。
			</p>
		</div>
	</body>
</html>

 

/hoge/ディレクトリに.htaccessを作る(編集する)

先頭の行に以下の内容を記述します。

#メンテナンスモード起動
ErrorDocument 503 /hoge/mente.html

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/hoge/mente.html

#画像等のリソースファイルはメンテナスモードから除外
RewriteCond %{REQUEST_FILENAME} !\.(css|jpe?g|gif|png|js)$
 
#作業者や確認者などアクセスを許可するIP
RewriteCond %{REMOTE_ADDR} !=111.222.333.444

#例外として公開しておきたいディレクトリやページ
RewriteCond %{REQUEST_URI} !^/tokubetu-na-dir/
#RewriteCond %{REQUEST_URI} !^/hoge.html

RewriteRule ^.*$ - [R=503,L]
</IfModule>

 

以上で設定が完了となります!
アクセスを試してください。

 

おまけ

メンテナンスモードにするけど、このディレクトリだけは公開状態にしておきたい!
などと言った希望がある方は

SNSでシェア♪

スポンサーリンク

関連記事