2009-06-24 59 views

回答

100

有兩種方法可以做到這一點。首先是在你的php代碼中指定標題。如果您想以編程方式調整到期時間,這非常棒。例如,維基可以爲不經常編輯的頁面設置更長的到期時間。

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

你的第二個選擇是創建一個的.htaccess文件或修改你的httpd配置。在共享主機環境中,修改.htaccess文件非常常見。爲了做到這一點,您需要知道您的服務器是否支持mod_expiresmod_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

+0

所以我正確地認爲.flv,.ico等會自動將正確的標題添加到它們之前?非常酷 – Tom 2009-06-24 09:27:12

1

你試過類似的東西嗎?

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

是什麼這個意思? – 2015-08-04 13:48:20