.htaccessによるメンテナンスページの表示
ウェブサイトを運営していると利用したいときが出てくるメンテナンスページ。
サイト公開前に「coming soon!!」といったページや「ティザーサイト」などのページに誘導する際にも役立ちます。
htaccessの記述
.htaccessへの記述は以下の通り。
# --------------------------------------------------------------------
# // どのURLにアクセスしてもメンテページを表示する
# --------------------------------------------------------------------
<IfModule mod_rewrite.c>
# -- メンテHTML指定
ErrorDocument 503 /ThankYou.html
RewriteEngine on
RewriteCond %{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR}%{TIME_MIN} ">202101111455"
RewriteCond %{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR}%{TIME_MIN} "<202101111500"
RewriteCond %{REQUEST_URI} !^/ThankYou.html$
# -- 画像等のリソースファイルは除外(メンテページから参照されている場合がある為)
RewriteCond %{REQUEST_FILENAME} !\.(css|jpe?g|gif|png|js)$
# -- 作業者のIP除外
# RewriteCond %{REMOTE_ADDR} !^190.102.xx.xx$
# RewriteCond %{HTTP:X-Forwarded-For} !^190.102.xx.xx$
# -- その他、メンテ中に先方で確認するための特定ディレクトリを除外したい場合や別途ページなど
RewriteCond %{REQUEST_URI} !^/show-ok/
# RewriteCond %{REQUEST_URI} !^/cgi-bin/
# -- HTTPレスポンスコード503で返す(ブラウザ上でのURL書き換えは発生しない)
RewriteRule ^.*$ - [R=503,L]
</IfModule>
# --------------------------------------------------------------------
期日指定
期日を指定し、Thanks.htmlへ誘導
ErrorDocument 503 /ThankYou.html
RewriteEngine on
RewriteCond %{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR}%{TIME_MIN} ">202101111455"
RewriteCond %{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR}%{TIME_MIN} "<202101111500"
RewriteCond %{REQUEST_URI} !^/ThankYou.html$
画像ファイルを除外
同一サーバー内に設置した画像ファイルを除外。除外しないと画像ファイルも悪っす制限がかかってしまい画像が非表示に。
# -- 画像等のリソースファイルは除外(メンテページから参照されている場合がある為)
RewriteCond %{REQUEST_FILENAME} !\.(css|jpe?g|gif|png|js)$
コメント