.htaccess基于时间戳为index.html/index.php提供服务的方式

.htaccess基于时间戳为index.html/index.php提供服务的方式,php,apache,.htaccess,caching,Php,Apache,.htaccess,Caching,假设我有一个简单的脚本(index.php),它拉入一个远程页面,从中收集数据,进行一些格式化并保存一个新页面。这个新页面(index.html)然后基于通常的缓存/时间戳控件提供给客户端 因此,从本质上讲,它可能看起来是简化的: <? if ( filemtime('index.html')+3600 > strtotime('now') ) { // collect_remote_stuff(); // save_new_index_html(); } else

假设我有一个简单的脚本(
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\u expires
。这并没有完全满足我的要求,但这是一个良好的开端——我可以将过期时间设置为文件修改的最后一天。但这并没有满足index.html/index.php条件,只满足“如果文件是旧的,则提供一个新的”场景。我也读过Apache>2.4的if/else,但我不太明白如何使用mod_expires来表示“如果文件超过一小时,就做些事情”

我不寻找任何解决方法或其他类型的缓存/服务静态文件。出于好奇,我被这个场景所困扰


非常感谢您的建议(并感谢您的时间)。

我会设置一个Cron作业,它每小时运行一次,无论是否有访问者访问您的站点


谢谢,我知道cron jobs,但正如我所说,我不想要任何替代解决方案。我很好奇这是否可以通过一个plain.htaccess配置来实现。
0 * * * * wget -O - -q http://www.website.com/cron.php