除.php文件以外的所有文件的1个月标头到期

时间:2012-07-23 07:07:43

标签: php apache http caching expires-header

为了加快我的网站速度,我已经阅读了Expires标题,如何在Apache中实现它,以及如何仅对某些文件类型执行此操作。但是我想在 .php文件(网页)之外的所有文件设置一个月到期时间。

那么如何使用.htaccess执行此操作?我有一个PHP脚本使用filemtime来更改CSS,JS文件的文件名,以便重新下载它们(例如,如果文件在Unix时间{@ 1}}发生变化,在请求时将文件名更改为xxxxxxx。这样就照顾好了。由于图像等不经常更改,我希望所有这些都可以缓存一个月。

此外,/resource.css?recache=xxxxxxxx标题的浏览器支持是什么?

1 个答案:

答案 0 :(得分:2)

在Apache配置文件中使用mod_expires。例如:

# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0

# Set up caching on media files for 1 month
<filesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|gif|jpg|jpeg|png|swf)$">
ExpiresDefault A2592000
Header append Cache-Control "public"
</filesMatch>

您可以阅读更多here