我发现你不能在下一个Rewrite Cond中使用RewriteCond反向引用作为模式条件...如何使用重写规则在cookie中测试日期?
我看起来是正确的,但Tim在评论波纹管中是正确的......这仍然通过时我们超出了cookie中保存的有效日期。
关于如何实际测试值而不是存在的任何想法?
RewriteCond %{HTTP_COOKIE} niftyExpire=([^;\ ]+)
RewriteRule .*index.html /fake.html [E=niftyExpire:%1,C]
RewriteCond %{TIME} <{ENV:niftyExpire}
RewriteRule .*fake.html /pass.html [R,L]
RewriteRule .*index.html /fail.html [R,L]
感谢,
-Eric
顺便提一句,当'RewriteCond%{TIME} <{ENV:niftyExpire}'应该为false时,您是否测试了条件? 'mod_rewrite'不会扩展测试模式中的任何*变量,所以我不认为这会以您期望的方式工作(目前'RewriteCond'应该始终计算为true)。 – 2010-07-09 05:44:19
您的正确,我实际上只是测试cookie的存在......任何想法?谢谢, – Eric 2010-07-09 13:29:19
无可否认,这对于某种脚本来说确实是一项工作,因为'mod_rewrite'并不是特别适合这些类型的任务。然而,这并不意味着一个解决方案不存在...所以我会琢磨一下,看看是否有一些疯狂的规则集可以使这成为可能,因为这将是相当整洁(尽管有点不切实际,我敢肯定)。 – 2010-07-10 07:28:13