【发布时间】:2010-10-01 21:08:44
【问题描述】:
我的网站有很多 JS 和 CSS 文件。为了尽量减少来自浏览器的连接请求,我将它们加入到一个 php 文件中。我正在使用标头参数来强制缓存文件。以下是我对 JS 案例的处理方式(CSS 完全一样):
<?php
ob_start("ob_gzhandler");
$expires= 60 * 60 * 24 * 14;
header('Pragma: public');
header('Cache-Control: max-age=' . $expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT');
header('Content-type: text/javascript');
include('file1.js'); echo "\n\n\n";
include('file2.js'); echo "\n\n\n";
/* ... bla bla bla bla ... */
include('fileY.js'); echo "\n\n\n";
include('fileZ.js'); echo "\n\n\n";
ob_end_flush();
?>
这在 Firefox 中运行良好。对于地球的其他地方,这些文件没有缓存!它们都很大,所以我有一个烦人的半秒白屏,以便其他浏览器为每个页面请求一次又一次地加载它们。
我想这与标头的内容长度有关。我尝试了 2-3 件事,但我无法让它发挥作用。有什么建议吗?
提前谢谢你。 任何帮助表示感谢。
【问题讨论】:
标签: php javascript css caching header