2011-08-23 114 views
5

我已經啓用mod_cache的,指定mod_expires,模塊mod_headers中在我的httpd.conf,並還增加了以下內容阿帕奇緩存JS CSS文件

ExpiresActive On 


<ifModule mod_deflate.c> 
    <filesMatch "\.(css|js|x?html?|php)$"> 
    SetOutputFilter DEFLATE 
    </filesMatch> 
</ifModule> 



<ifModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault "access plus 1 seconds" 
    ExpiresByType image/x-icon "access plus 2592000 seconds" 
    ExpiresByType image/jpeg "access plus 2592000 seconds" 
    ExpiresByType image/png "access plus 2592000 seconds" 
    ExpiresByType image/gif "access plus 2592000 seconds" 
    ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" 
    ExpiresByType text/css "access plus 604800 seconds" 
    ExpiresByType text/javascript "access plus 216000 seconds" 
    ExpiresByType application/javascript "access plus 216000 seconds" 
    ExpiresByType application/x-javascript "access plus 216000 seconds" 
    ExpiresByType text/html "access plus 600 seconds" 
    ExpiresByType application/xhtml+xml "access plus 600 seconds" 
</ifModule> 



<ifModule mod_headers.c> 
    <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> 
    Header set Cache-Control "max-age=2592000, public" 
    </filesMatch> 
    <filesMatch "\.(css)$"> 
    Header set Cache-Control "max-age=604800, public" 
    </filesMatch> 
    <filesMatch "\.(js)$"> 
    Header set Cache-Control "max-age=216000, public" 
    </filesMatch> 
    <filesMatch "\.(x?html?|php)$"> 
    Header set Cache-Control "max-age=600, public" 
    </filesMatch> 
</ifModule> 



<ifModule mod_headers.c> 
    Header unset ETag 
</ifModule> 
FileETag None 



<ifModule mod_headers.c> 
    Header unset Last-Modifiedd 
</ifModule> 


<IfModule mod_cache.c> 

LoadModule mem_cache_module modules/mod_mem_cache.so 
<IfModule mod_mem_cache.c> 
CacheEnable mem/
MCacheSize 4096 
MCacheMaxObjectCount 100 
MCacheMinObjectSize 1 
MCacheMaxObjectSize 2048 
</IfModule> 
</IfModule> 

,但文件不會被緩存。我得到的標題信息如

Response 
Date Tue, 23 Aug 2011 11:30:09 GMT 
Server Apache/2.2.19 (Win32) PHP/5.3.6 
Last-Modified Mon, 22 Aug 2011 21:24:19 GMT 
Accept-Ranges bytes 
Cache-Control max-age=216000, public 
Expires Thu, 25 Aug 2011 23:30:09 GMT 
Vary Accept-Encoding 
Content-Encoding gzip 
Content-Length 2875 
Keep-Alive timeout=5, max=100 
Connection Keep-Alive 
Content-Type application/javascript 

Request Headers 

Host workflowsf.com 
User-Agent Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 
Accept */* 
Accept-Language en-us,en;q=0.5 
Accept-Encoding gzip, deflate 
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive 115 
Connection keep-alive 

你有什麼想法我錯了嗎? 在此先感謝

+0

你如何看待這些文件沒有緩存?響應頭似乎是正確的('Cache-Control:max-age = 216000,public''Expires:Thu,2011年8月25日23:30:09 GMT') – arnaud576875

+0

當我看到Firebus的Net Tab狀態時,它顯示狀態200。這樣對嗎? – user704006

回答

1

這看起來像一個相當不錯的配置。你的Header unset Last-Modifiedd有一個錯字,你也可能不需要第一行,因爲它是<ifModule mod_expires.c>中的一行的副本,這對它來說是一個更好的地方。