0

假设我有一个简单的脚本 ( index.php),它拉入一个远程页面,从中收集数据,进行一些格式化并保存一个新页面。index.html然后根据通常的缓存/时间戳控制将此新页面 ( ) 提供给客户端。

因此,从本质上讲,它看起来可能是简化的:

<?
if ( filemtime('index.html')+3600 > strtotime('now') ) {
    // collect_remote_stuff();
    // save_new_index_html();
} else {
    echo file_get_contents('index.html');
}
?>

这很好,它可以完成工作。但我不喜欢的是,对于这个简单的时间戳检查,必须在每个请求上运行 php 解释器。不要误会我的意思,这不是一个严重的性能问题,我只是不喜欢这个原理。

所以,我想用一些智能.htaccess脚本来代替时间戳检查。我的梦想成就如下:

检查 index.html 是否超过一小时。如果是,请致电index.php。如果没有,请提供index.html

作为 Apache 配置的新手,我先进行了一些谷歌搜索,然后深入研究了mod_expires. 这并没有完全达到我想要的效果,但这是一个好的开始——我可以设置相对于文件最后一天修改的到期时间。但这不符合 index.html/index.php 条件,只满足“如果文件旧,则提供新文件”的场景。我还阅读了有关 Apache > 2.4 的 if/else 的信息,但并没有真正看到这里使用 mod_expires 说“如果文件超过一小时,请执行操作”的方式。

我不是在寻找任何解决方法或其他类型的缓存/服务静态文件。出于好奇,我对这种情况很感兴趣。

您的任何建议表示赞赏(并感谢您的时间)。

4

1 回答 1

0

无论访问者是否访问了您的网站,我都会设置一个每小时运行一次的 Cron 作业。

http://www.thesitewizard.com/general/set-cron-job.shtml

0 * * * * wget -O - -q http://www.website.com/cron.php
于 2013-07-11T21:26:32.817 回答