Html 控制缓存过期
在通过Google Webmaster Tools的PageSpeed analyzer运行我的网页后,它向我报告说,我的任何资源都没有被缓存。下面是直接从H5BP获取的my.htaccess文件中的代码。我是否正确地假设下面的过期设置正确,并且我的实现中出现了一些错误,或者我必须为每个文件名设置显式过期,而不是泛化Html 控制缓存过期,html,css,.htaccess,caching,html5boilerplate,Html,Css,.htaccess,Caching,Html5boilerplate,在通过Google Webmaster Tools的PageSpeed analyzer运行我的网页后,它向我报告说,我的任何资源都没有被缓存。下面是直接从H5BP获取的my.htaccess文件中的代码。我是否正确地假设下面的过期设置正确,并且我的实现中出现了一些错误,或者我必须为每个文件名设置显式过期,而不是泛化 # ---------------------------------------------------------------------- # Expires headers
# ----------------------------------------------------------------------
# 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>
#----------------------------------------------------------------------
#Expires标头(用于更好的缓存控制)
# ----------------------------------------------------------------------
#这些都是相当遥远的未来过期标题。
#他们假设您通过基于文件名的缓存破坏来控制版本控制
另外,考虑过时的代理可能会误入歧途。
#www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
#如果不使用文件名来设置版本,请将CSS和JS降低到类似的级别
#“访问加1周”。
过期于
#也许最好将过期规则列入白名单?也许。
ExpiresDefault“访问加1个月”
#cache.appcache需要在FF 3.6中重新请求(感谢Remy~引入HTML5)
ExpiresByType文本/缓存清单“访问加0秒”
#您的文档是html
ExpiresByType text/html“访问加0秒”
#资料
ExpiresByType应用程序/json“访问加0秒”
ExpiresByType应用程序/xml“访问加0秒”
ExpiresByType text/xml“访问加0秒”
#喂
ExpiresByType应用程序/atom+xml“访问加1小时”
ExpiresByType应用程序/rss+xml“访问加1小时”
#Favicon(无法重命名)
ExpiresByType图像/x图标“访问加1周”
#媒体:图像、视频、音频
ExpiresByType音频/ogg“访问加1个月”
ExpiresByType image/gif“访问加1个月”
过期按类型图像/jpeg“访问加1个月”
ExpiresByType图像/png“访问加1个月”
按类型视频/mp4“访问加1个月”过期
按类型视频/ogg“访问加1个月”过期
过期按类型视频/webm“访问加1个月”
#HTC文件(css3pie)
ExpiresByType文本/x组件“访问加1个月”
#网络字体
ExpiresByType应用程序/vnd.ms-fontobject“访问加1个月”
按类型应用程序到期/x-font-ttf“访问加1个月”
过期按类型应用程序/x-font-woff“访问加1个月”
ExpiresByType字体/opentype“访问加1个月”
ExpiresByType图像/svg+xml“访问加1个月”
#CSS和JavaScript
ExpiresByType应用程序/javascript“访问加1年”
ExpiresByType文本/css“访问加1年”
看起来不错
要么您没有安装mod\u expires模块(百万分之一没有安装),要么其他
。htaccess
或httpd.conf
指令正在其他地方禁用这些模块。请使用页面速度工具获取文件发送的实际标题,然后粘贴。我很确定一定有另一个htaccess文件覆盖了它,因为我正在与某人共享测试服务器。不过,我只是想确保我所拥有的一切都是好的。非常感谢。我有完全相同的.htaccess文件(甚至包括注释,例如“谢谢Remy”)。然而,我也从seo分析中得到消息,浏览器缓存没有被利用。如何检查a)是否安装了mod_expires,b)是否有覆盖?谢谢