任何人都可以幫助我設置使用PHP的Expire頭文件, .htaccess不好,因爲我的主機不會在apache上啓用mod_expires。使用PHP設置Expire頭文件
所以基本上我正在尋找一種方式來做到:
Expire Header
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
ExpiresDefault "access plus 365 days"
</FilesMatch>
只有PHP。
它也很重要,爲不同文件類型的不同到期時間,所以我嘗試使用類似:
header ("content-type: image/jpg; charset: UTF-8");
header ("cache-control: must-revalidate");
$offset = 48 * 60 * 60;
$expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
header ($expire);
每種類型的文件,但什麼都沒有發生。
加入PHP代碼後的頭,並從私人會議採取:
Response Headersview source
Date Mon, 25 Apr 2011 19:47:10 GMT
Server Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By PHP/5.3.1
P3P CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Expires Mon, 1 Jan 2001 00:00:00 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Last-Modified Mon, 25 Apr 2011 19:47:10 GMT
Content-Encoding gzip
Pragma no-cache
Keep-Alive timeout=5, max=100
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html; charset=utf-8
Request Headersview source
Host localhost
User-Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16) Gecko/20110323 Ubuntu/10.10 (maverick) Firefox/3.6.16 (.NET CLR 3.5.30729) FirePHP/0.5
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-us,en;q=0.7,he;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer http://localhost/-----------------
Cookie fboard_settings[current_view]=flat; style_cookie=null; phpbb3_4s1go_k=; phpbb3_4s1go_u=2; phpbb3_4s1go_sid=8a3835a63834e9851b0cde3e2f6cff63; jw_clean_pro_tpl=jw_clean_pro; acpSearchCookie[searchphrase]=any; acpSearchCookie[acpSearch]=%D7%97%D7%A4%D7%A9+...; acpSearchCookie[cid]=0; acpSearchCookie[field_city]=0; 14a2bb08766d6180968b7925b7902d70=bgd3h1uj5dctoevtdiaj1jtmg6; 3e2fd857422e2463a01f9631f718017a=nbdjbmjsn9ee8ng90ui816hec2
x-insight activate
「什麼都沒有發生」?你的意思是,它沒有輸出標題? – deceze 2011-04-25 09:23:23
是的,請添加更多細節。你在哪裏插入這個PHP代碼? – 2011-04-25 09:25:20
好吧,檢查Yslow或PageSpeed我看到瀏覽器chaching筆記,我將代碼插入我的index.php頂部,並且我沒有收到任何錯誤作爲標題發送。因此檢查Net標籤我看到:Expires \t Mon,1 2001 2001 00:00:00 GMT Last-Modified \t 2011年4月25日星期一09:05:17 GMT 緩存控制\t無存儲,無緩存,必須重新驗證,後檢查= 0,預檢查= 0 Pragma \t no-cache – alex 2011-04-25 09:30:16