Apache でアクセスを制限する時間帯を設定する
Apache で mod_rewrite というモジュールを使うと、時間帯によりアクセスを制限できます。
今回はその方法を紹介します。
※フォルダ構成は次のようになっているとします。
-
/ (トップ)
- .htaccess (このファイルに下記の設定をします)
-
/closed/ (アクセスを制限するフォルダ)
- index.html
-
/restricted/ (アクセス制限中に表示するファイルの設置場所)
- index.html (アクセス制限中はこのページを表示する)
/.htacess に以下のように書き込むと、/closed/ 以下は30秒おきに見られたり見られなくなったりします。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/closed/
RewriteCond %{TIME_SEC} >0
RewriteCond %{TIME_SEC} <30
RewriteRule ^.*$ /restricted/index.html [L]
※実際の動作は こちら でご確認ください。
上で %{TIME_SEC} としているところ(2行)を
-
%{TIME_WDAY} =0にする
→ 日曜日のみ制限する -
%{TIME_YEAR}%{TIME_MON}%{TIME_DAY} <20100101にする
→ 2010年になるまで制限する (=2010年になったら見られるページになる) -
%{TIME} >20091122012345%{TIME} <20091123000000にする
→ 2009年11月22日午前1時23分45秒~2009年11月23日午前0時0分0秒の間はアクセスを制限する
のようなことができます。