1

我在运行 Apache 的共享主机上。显然 mod_expires 没有安装。是否有另一种方法可以在该环境中将过期标头添加到 css 文件、图像等?

4

3 回答 3

2

您可以使用 PHP 嵌入过期标头,
效率不如 apache mod_expires,
但至少它仍然可以用于准备缓存

只有在用户已经访问过您的网站后,使用远期的 Expires 标头才会影响页面浏览量。当用户第一次访问您的站点并且浏览器的缓存为空时,它对 HTTP 请求的数量没有影响。因此,这种性能改进的影响取决于用户使用已准备好的缓存访问您的页面的频率。(“准备好的缓存”已经包含页面中的所有组件。)我们在 Yahoo! 进行了测量。并发现使用准备好的缓存的页面浏览量为 75-85%。通过使用未来的 Expires 标头,您可以增加浏览器缓存并在后续页面视图中重复使用的组件数量,而无需通过用户的 Internet 连接发送单个字节。

来源:http: //developer.yahoo.com/performance/rules.html#expires

于 2010-11-24T14:02:29.547 回答
2

在您的.htaccess(如果这是一个选项)中,您可以使用带有指令的<FilesMatch>。但是,这需要,而且我很确定您不能指定“滚动”到期日期(即“从现在起一年”)。因此,您需要编辑此设置,例如每年一次1Headermod_headers

另外,你看到这个问题了吗?


1)显然,您应该避免将其设置Expires为未来一年以上:“不要将其 [Expires标题] 设置为未来一年以上,因为这违反了 RFC 指南。” (来源:优化缓存

于 2010-11-24T14:02:32.707 回答
2

只需使用header()自己发送Header

header("Expires: Thu, 01 Dec 1994 16:00:00 GMT", true);

编辑:没看到,图像,...也被提及。这仅适用于 php 文件或您通过 php 传递的任何内容,这在大多数情况下并不是一个好主意。

于 2010-11-24T14:12:05.383 回答