2013-02-25 72 views
6

通过Google网站管理员工具的PageSpeed分析器运行我的网页后,它向我报告我的资源没有被缓存。以下是我直接从H5BP获取的.htaccess文件中的代码。我是否正确地假设下面的过期设置正确,并且在我的实施中出现了问题,或者我是否必须为每个文件名设置明确的到期期限,而不是对广义的泛化进行设置?控制缓存过期

# ---------------------------------------------------------------------- 
# Expires headers (for better cache control) 
# ---------------------------------------------------------------------- 

# These are pretty far-future expires headers. 
# They assume you control versioning with filename-based cache busting 
# Additionally, consider that outdated proxies may miscache 
# www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/ 

# If you don't use filenames to version, lower the CSS and JS to something like 
# "access plus 1 week". 

<IfModule mod_expires.c> 
    ExpiresActive on 

# Perhaps better to whitelist expires rules? Perhaps. 
    ExpiresDefault       "access plus 1 month" 

# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5) 
    ExpiresByType text/cache-manifest  "access plus 0 seconds" 

# Your document html 
    ExpiresByType text/html     "access plus 0 seconds" 

# Data 
    ExpiresByType application/json   "access plus 0 seconds" 
    ExpiresByType application/xml   "access plus 0 seconds" 
    ExpiresByType text/xml     "access plus 0 seconds" 

# Feed 
    ExpiresByType application/atom+xml  "access plus 1 hour" 
    ExpiresByType application/rss+xml  "access plus 1 hour" 

# Favicon (cannot be renamed) 
    ExpiresByType image/x-icon    "access plus 1 week" 

# Media: images, video, audio 
    ExpiresByType audio/ogg     "access plus 1 month" 
    ExpiresByType image/gif     "access plus 1 month" 
    ExpiresByType image/jpeg    "access plus 1 month" 
    ExpiresByType image/png     "access plus 1 month" 
    ExpiresByType video/mp4     "access plus 1 month" 
    ExpiresByType video/ogg     "access plus 1 month" 
    ExpiresByType video/webm    "access plus 1 month" 

# HTC files (css3pie) 
    ExpiresByType text/x-component   "access plus 1 month" 

# Webfonts 
    ExpiresByType application/vnd.ms-fontobject "access plus 1 month" 
    ExpiresByType application/x-font-ttf "access plus 1 month" 
    ExpiresByType application/x-font-woff "access plus 1 month" 
    ExpiresByType font/opentype    "access plus 1 month" 
    ExpiresByType image/svg+xml    "access plus 1 month" 

# CSS and JavaScript 
    ExpiresByType application/javascript "access plus 1 year" 
    ExpiresByType text/css     "access plus 1 year" 

</IfModule> 

回答

3

看起来不错。

要么你没有指定mod_expires安装模块(1百万不)或其他一些.htaccesshttpd.conf指令禁用这些其他地方。请使用页面速度工具抓取您的文件发送的实际标题,然后粘贴。

+0

我很确定必须有另一个htaccess文件覆盖它,因为我与某人共享测试服务器。不过,我只是想确保我所拥有的是好的。谢谢! – 2013-02-26 17:10:23

+0

我有完全相同的.htaccess文件(甚至包括评论,例如“Thanks Remy”)。 但是我也收到seo分析的消息,说浏览器缓存没有被利用。 如何检查是否 a)我已安装mod_expires并且 b)有重写? thx – 2016-12-18 13:51:37