2013-01-19 73 views
0

我试图通过.htaccess规则在我的VPS服务器上设置缓存。我确定安装了mod_expires和mime类型检测,但是当我通过gtmetrix运行我的网站时,它显示我没有启用缓存。以下是我的.htaccess规则:已安装Apache模块但htaccess缓存不起作用

# Expire headers 
<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> 

# Cache-Control Headers 
<ifModule mod_headers.c> 
#month 
    <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> 
    Header set Cache-Control "max-age=2592000, public" 
    </filesMatch> 
#week 
    <filesMatch "\.(css|js)$"> 
    Header set Cache-Control "max-age=604800, public" 
    </filesMatch> 
#day 
    <filesMatch "\.(x?html?|php)$"> 
    Header set Cache-Control "max-age=43200, private, must-revalidate" 
    </filesMatch> 
</ifModule> 
# END Cache-Control Headers 

# Turn ETags Off 
<ifModule mod_headers.c> 
    Header unset ETag 
</ifModule> 
FileETag None 

# Remove Last-Modified Header 
<ifModule mod_headers.c> 
    Header unset Last-Modified 
</ifModule> 

回答

0

尝试在FilesMatch块中添加Last-Modifed。 类似这样的:

<FilesMatch "\.(jpg|jpeg|png|gif|js|css|ico)$"> 
    ExpiresDefault "access plus 10 years" 
    Header set Cache-Control "public" 
    Header set Last-Modified "Mon, 31 Aug 2009 00:00:00 GMT" 
    Header unset ETag 
    Header append Cache-Control "max-age=604800, public" 
</FilesMatch > 
+0

我加了它,仍然没有运气。 – user715564

+0

确保mod_headers.c已启用?尝试删除块。在这种情况下,如果模块mod_headers.c未启用,您将收到错误消息。 – ivi

+0

好吧,我删除了mod_headers.c块并没有得到一个错误。 – user715564

相关问题