如何在PHP + Apache中設置過期頭文件?我目前使用auto_prepend服務資源gzipped,但我也想最大限度地提高HTTP緩存。安裝HTTP過期使用PHP和Apache的頭文件
我該如何設置這些?
如何在PHP + Apache中設置過期頭文件?我目前使用auto_prepend服務資源gzipped,但我也想最大限度地提高HTTP緩存。安裝HTTP過期使用PHP和Apache的頭文件
我該如何設置這些?
有兩種方法可以做到這一點。首先是在你的php代碼中指定標題。如果您想以編程方式調整到期時間,這非常棒。例如,維基可以爲不經常編輯的頁面設置更長的到期時間。
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60))); // 1 hour
你的第二個選擇是創建一個的.htaccess文件或修改你的httpd配置。在共享主機環境中,修改.htaccess文件非常常見。爲了做到這一點,您需要知道您的服務器是否支持mod_expires,mod_headers或兩者。最簡單的方法就是試驗和錯誤,但是一些Apache服務器被配置爲允許您通過/ 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
你試過類似的東西嗎?
<?php
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
?>
是什麼這個意思? – 2015-08-04 13:48:20
這Apache模塊可能會有所幫助: http://httpd.apache.org/docs/2.0/mod/mod_expires.html
在使用PHP替代方法之前,我還會研究使用mod_expires。 – joebert 2009-06-29 02:01:05
所以我正確地認爲.flv,.ico等會自動將正確的標題添加到它們之前?非常酷 – Tom 2009-06-24 09:27:12