htaccess 時間制限でのRewirte.

時間制限で、リダイレクトをしたい時等に。

Case 1.
10日の午後18時以降はメンテ表示させる。

	ErrorDocument 503 /maintenance.html

	<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{TIME_DAY}%{TIME_HOUR} >1017
  RewriteCond %{REQUEST_URI} !=/maintenance.html
  RewriteCond %{REMOTE_ADDR} !=IP.TO.YOUR.LOCATION
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

 


Case 2.
10日の午前2時から11日の午後18時までをメンテ表示させる。

	
ErrorDocument 503 /maintenance.html <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{TIME_DAY}%{TIME_HOUR} >1002
  RewriteCond %{TIME_DAY}%{TIME_HOUR} <1118
  RewriteCond %{REQUEST_URI} !=/maintenance.html
  RewriteCond %{REMOTE_ADDR} !=IP.TO.YOUR.LOCATION
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

 


Case 3.
毎日午前3時から4時まではメンテ表示をさせる。

	
ErrorDocument 503 /maintenance.html <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{TIME_HOUR} >03
  RewriteCond %{TIME_HOUR} <04
  RewriteCond %{REQUEST_URI} !=/maintenance.html
  RewriteCond %{REMOTE_ADDR} !=IP.TO.YOUR.LOCATION
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

 

制限オプションは以下。
TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY

更に細かく制限出来ますね。


参考:
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond
http://www.askapache.com/htaccess/time_hour-rewritecond-time.html