0

我正在使用 php 根据不同的条件动态生成 javascript。我希望浏览器能够将其缓存特定的时间。

我正在使用以下代码进行缓存,但它似乎不起作用。

header("Content-type: text/javascript; charset: UTF-8");
header("Cache-Control: must-revalidate");
$offset = 60 * 60 ;
$ExpStr = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($ExpStr);

另外,这个 js 文件很大,大约 290 KB,所以我想将它压缩后发送到浏览器以减少下载时间。有什么建议么?

4

1 回答 1

3

您忘记了Expires标题名称,所以该行

$ExpStr = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";

应该

$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";

// output your js file here

对于压缩输出,取消注释(如果不存在则添加)PHP.ini 中的以下行。放气或压缩输出。修改 PHP.ini 后不要忘记重启服务器

output_handler = ob_gzhandler
于 2013-01-25T06:51:56.450 回答