Apache:如何在没有安装mod_expires的情况下将Expires头添加到文件中

时间:2010-11-24 13:57:01

标签: php apache mod-expires

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

3 个答案:

答案 0 :(得分:2)

您可以使用PHP嵌入过期标头,
没有效率,因为apache mod_expires,
但至少它仍能用于准备好的缓存

  

使用远期Expires标头仅在用户拥有后影响页面视图   已访问过您的网站。它对HTTP请求的数量没有影响   用户第一次访问您的站点,浏览器的缓存为空。   因此,这种性能提升的影响取决于用户的频率   使用已准备好的缓存命中您的页面。 (“已准备好的缓存”已包含所有内容   页面中的组件。)我们在雅虎测量了这个。并找到了号码   具有已准备好的缓存的页面查看次数为75-85%。通过使用远期的Expires   标题,您增加了浏览器缓存的组件数   并在后续页面视图上重复使用,而不在。上发送单个字节   用户的Internet连接。

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

答案 1 :(得分:2)

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

另外,你看到了this question吗?


1)显然你应该避免将Expires设置为未来一年以上:“不要设置它[{1}}标题]未来一年以上,因为这违反了RFC准则。“(来源:Optimize caching

答案 2 :(得分:2)

只需使用Header

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

编辑: 没有看到,那些图像......也被提到了。这只适用于php文件或你传递给php的任何东西,在大多数情况下这不是一个好主意。

相关问题