如何在PHP + Apache中设置过期标头?我目前使用auto_prepend来提供gzip压缩的资源,但我也想最大化HTTP缓存。如何设置这些?
有两种方法可以实现这一点。第一种是在您的php代码中指定标题。如果您希望以编程方式调整到期时间,这非常好。例如,维基百科可以为不经常编辑的页面设置更长的过期时间。
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); // 1 hour
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0
# Set up caching on media files for 1 year (forever?)
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A29030400
Header append Cache-Control "public"
</FilesMatch>
有关其他组合和更多示例,请参见:http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html
你试过类似的东西吗?
<?php
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
?>
gmdate('r')
,该函数提供有效的RFC 2822表示形式。 - BenMorel