.htaccessでメンテナンスやクローズなど時限切り替え設定
1. はじめに
サイトのメンテナンスやクローズをする際、どこで処理させていますか。
- アプリケーションのコントローラーで表示の切り替えを行う場合
- .htaccessで表示の切り替えを行う場合
上記のどちらかが多いと思います。
一括して表示を切り替えたい場合、アプリケーションより上位で切り替え処理が実現出来る方が都合が良い場合もありますよね。
つまり.htaccessで切り替えを行いましょうという話です。
且つ時限切り替えが可能です。
2. 前提
.htaccessを使用するので、Apacheでのみ使用可能です。
Nginxの場合などの設定方法については他の記事にゆずります。
また、AllowOverrideを有効にする必要があります。
httpd.conf
AllowOverride All
3. 設定してみる
.htaccess
ErrorDocument 503 /maintenance.html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR}%{TIME_MIN} >201601230000
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteCond %{REMOTE_ADDR} !=192.168.33.10
RewriteRule ^.*$ - [R=503,L]
</IfModule>
.htaccess
ErrorDocument 503 /maintenance.html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR}%{TIME_MIN} >201601230000
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteCond %{REMOTE_ADDR} !=192.168.33.10
RewriteRule ^.*$ - [R=503,L]
</IfModule>
鍵となるのは、
RewriteCond %{TIME_YEAR}%{TIME_MON}%{TIME_DAY}%{TIME_HOUR}%{TIME_MIN} >201601230000
の部分。
この場合、2016年1月23日0時0分を超えたらmaintenance.htmlが表示されます。
メンテナンス切り替えの場合は、併せてRewriteCondで社内IPなどをアクセス許可しておきましょう。
Author And Source
この問題について(.htaccessでメンテナンスやクローズなど時限切り替え設定), 我々は、より多くの情報をここで見つけました https://qiita.com/emowl/items/7db0fe1752c37f7f8322著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .