如何将当前时间与.htaccess中的变量进行比较

fhg3lkii  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(117)

我想在我的网站上的截止日期后进行重定向。
如果我写这个,现在一切都正常:

RewriteEngine On

SetEnv DEADLINE 16/06/2022_19h30

RewriteCond %{TIME_DAY}/%{TIME_MON}/%{TIME_YEAR}_%{TIME_HOUR}h%{TIME_MIN} >=16/06/2022_19h30
RewriteRule ^index.php$ read_only/index.html [L]

使用环境变量的好处是我可以在PHP文件的其他地方使用它

那么,有没有办法在当前时间和DEADLINE变量之间进行测试?

50few1ms

50few1ms1#

您可以这样做,但需要使用SetEnvIf指令设置变量,以便它可用于在.htaccess RewriteCond中求值:
首先定义此变量:

SetEnvIf Host ^ DEADLINE=20220616193000

然后使用RewriteCond表达式在.htaccess中使用它:

RewriteEngine On

RewriteCond expr "%{TIME} -ge env('DEADLINE')"
RewriteRule ^index\.php$ read_only/index.html [L,NC]

由于在RewriteCond中使用expr,因此需要Apache 2.4以上版本

相关问题