安装HTTP使用PHP和Apache过期头

我如何在PHP + Apache中设置expires头文件? 我目前正在使用auto_prepend服务资源gzipped,但我也想最大限度地提高HTTPcaching。

我怎样才能设置这些?

有两种方法可以做到这一点。 首先是在您的PHP代码中指定标题。 如果您想以编程方式调整到期时间,这非常棒。 例如,一个wiki可以为一个不经常编辑的页面设置更长的到期时间。

header('Expires: '.gmdate('D, d MYH:i:s \G\M\T', time() + (60 * 60))); // 1 hour 

您的第二个select是创build.htaccess文件或修改您的httpdconfiguration。 在共享主机环境中,修改.htaccess文件是相当普遍的。 为了做到这一点,你需要知道你的服务器是否支持mod_expiresmod_headers或两者。 最简单的方法是简单的反复试验,但是一些Apache服务器被configuration为允许你通过/ server-info页面查看这些信息。 如果你的服务器同时拥有mod_expires和mod_headers,并且你想在静态资源上设置过期时间,那么试着把它放在你的.htaccess文件中:

 # 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

这个Apache模块可能有帮助: http : //httpd.apache.org/docs/2.0/mod/mod_expires.html

你有尝试过吗?

 <?php header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); ?>