今からでも遅くない、本当に明日使えるApache mod_rewriteの小ネタ
RewriteCondでは、日時の情報も使えるので:
RewriteEngine On RewriteCond %{REQUEST_URI} !^/0401/ RewriteCond %{TIME_MON}%{TIME_DAY} 0401 RewriteRule . /0401/ [R,L]
enjoy!
追記 (2010-04-01)
あわせて読みたい、というかこっちの方がちゃんと解説してあります。
"<"や">"と[OR]を使って、日時の範囲を表現しています。すらばしす。
蛇足ですが、
RewriteCond ...1 RewriteCond ...2 RewriteRule ...3
という書き方をしますが、マッチんぐの検査順は、上から順に
- RewriteCond ...1
- RewriteCond ...2
- RewriteRule ...3
ではなく、まずRewriteRuleが最初で、そこから上にRewriteCondを評価していきます:
- RewriteRule ...3
- RewriteCond ...2
- RewriteCond ...1
see Apache mod_rewrite Technical Details - Apache HTTP Server
これを知らないと、「RewriteCondで絞りきってるからRewriteRuleのパターンはなんでもマッチする"."とかでいいじゃん」となり、ちょっと無駄な処理が増えてしまいますので要注意です。