2011-08-23 64 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>中的一行的副本,这对它来说是一个更好的地方。