2012-07-23 78 views
0

我使用了可怕的yslow,並且有39個靜態組件沒有遠期到期日期。消息向我開出。無法獲取Expiry Headers工作

我跟着一些教程/回覆,並想出這個我的httpdocs內/的.htaccess

#Expire Header 
ExpiresActive On 
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$"> 
    ExpiresDefault "access plus 6 months" 
    Header append Cache-Control public 
</FilesMatch> 

但是這些文件都存儲在目錄是瘋狂的,例如,我拿到這些例如。

httpdocs/mpu/ 
httpdocs/css/ 
httpdocs/images/ 
httpdocs/js/ 
httpdocs/favicon.ico 
httpdocs/mph/ 
httpdocs/min/ 
httpdocs/js/sliders/ 
httpdocs/js/gallery/ 

等等,我不完全確定FilesMatch表達式是否會捕獲所有的子目錄文件?

如果他們這樣做,那麼任何人都可以看到一個理由,我的上面的片段仍然說它沒有遠期到期日期。

編輯:這是由鉻

Request Headers 

Accept:*/* 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Cache-Control:no-cache 
Connection:keep-alive 
Pragma:no-cache 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11 

Response Headers 

Accept-Ranges:bytes 
Cache-Control:max-age=15552000, public 
Connection:close 
Content-Length:3597 
Content-Type:image/png 
Date:Mon, 23 Jul 2012 10:49:43 GMT 
Expires:Sat, 19 Jan 2013 10:49:43 GMT 
Last-Modified:Thu, 21 Jun 2012 16:46:19 GMT 
Server:Apache 
X-Powered-By:PleskLin 

回答

-1

頁眉響應。如果你認爲你的FilesMatch選擇不工作,你也可以用ExpiresByType指令測試:

ExpiresActive on 
ExpiresByType image/gif "access plus 1 week" 
ExpiresByType image/jpeg "access plus 1 week" 
ExpiresByType image/png "access plus 1 week" 
ExpiresByType image/x-icon "access plus 1 year" 

縱觀頭你包括了,它至少出現在那個文件中,它至少是正確設置緩存控制:

Cache-Control:max-age=15552000, public 
Date:Mon, 23 Jul 2012 10:49:43 GMT 
Expires:Sat, 19 Jan 2013 10:49:43 GMT 

最大年齡參數15552000等於6個月,而Expires標頭今天+ 6個月。

YSlow認爲是否有過期頭文件的結果?你有可公開訪問的鏈接是否存在問題?