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秒の間はアクセスを制限する

のようなことができます。

コメント 停止中