【发布时间】:2014-04-09 09:52:01
【问题描述】:
我正在使用 Minify (https://code.google.com/p/minify/) 来压缩和合并 ~30 个 css 文件和 ~10 个 javascript 文件。我为这些文件创建了一个组配置,它基本上是一个包含文件名的数组。
就像一个魅力,除了其中一个脚本被修改:浏览器缓存没有及时更新。我曾经获取每个文件的最后修改时间戳(使用 filemtime)来否决浏览器缓存:
$time = '?' . filemtime( $filename );
$output = '<link type="text/css" rel="stylesheet" href="'.$file_path.'?'.$time.'" />';
我可以遍历所有 40 个文件以获得最新的时间戳,但这是一个非常丑陋的解决方案。另一种方式是例如让 crobjob 检查它并将时间戳写入文件,然后我可以将其包含在内。
在我再次发明轮子之前还有其他方法吗?
【问题讨论】:
-
您可以通过使用 php 处理程序和重定向静态文件请求 vi 重写规则来使用 php 标头的 Cache-Control 和 Expires 属性。请参阅我的答案以获取更多详细信息
标签: php browser-cache minify