如何为.htaccess中的PNG文件指定缓存验证程序?
我想在用户缓存中缓存网站上的所有图像和视频至少一个月,以加快加载过程 但是速度报告给了我以下错误: 以下资源缺少缓存验证程序。资源 不要指定无法高效刷新的缓存验证程序。 指定上次修改的头或ETag头以启用缓存验证 下列资源: //此处列出了当前在我的页面上的所有*.png文件// 过期时间:如何为.htaccess中的PNG文件指定缓存验证程序?,.htaccess,caching,last-modified,.htaccess,Caching,Last Modified,我想在用户缓存中缓存网站上的所有图像和视频至少一个月,以加快加载过程 但是速度报告给了我以下错误: 以下资源缺少缓存验证程序。资源 不要指定无法高效刷新的缓存验证程序。 指定上次修改的头或ETag头以启用缓存验证 下列资源: //此处列出了当前在我的页面上的所有*.png文件// 过期时间: ### CACHING ### <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month
### CACHING ###
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
# cache.appcache needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest "access plus 0 seconds"
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/rss+xml "access plus 1 hour"
# media: favicon, images, video, audio
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# htc files (css3pie)
ExpiresByType text/x-component "access plus 1 month"
# webfonts
ExpiresByType font/truetype "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
# css and javascript
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
缓存###
过期于
ExpiresDefault“访问加1个月”
#cache.appcache需要在FF 3.6中重新请求(thx Remy~引入HTML5)
ExpiresByType文本/缓存清单“访问加0秒”
ExpiresByType text/html“访问加0秒”
ExpiresByType text/xml“访问加0秒”
ExpiresByType应用程序/xml“访问加0秒”
ExpiresByType应用程序/json“访问加0秒”
ExpiresByType应用程序/rss+xml“访问加1小时”
#媒体:视频、图像、视频、音频
ExpiresByType图像/x图标“访问加1个月”
ExpiresByType image/gif“访问加1个月”
ExpiresByType图像/png“访问加1个月”
ExpiresByType图像/jpg“访问加1个月”
过期按类型图像/jpeg“访问加1个月”
按类型视频/ogg“访问加1个月”过期
ExpiresByType音频/ogg“访问加1个月”
按类型视频/mp4“访问加1个月”过期
过期按类型视频/webm“访问加1个月”
#htc文件(css3pie)
ExpiresByType文本/x组件“访问加1个月”
#网络字体
ExpiresByType字体/truetype“访问加1个月”
ExpiresByType字体/opentype“访问加1个月”
过期按类型应用程序/x-font-woff“访问加1个月”
ExpiresByType图像/svg+xml“访问加1个月”
ExpiresByType应用程序/vnd.ms-fontobject“访问加1个月”
#css和javascript
ExpiresByType文本/css“访问加1周”
ExpiresByType应用程序/javascript“访问加1周”
ExpiresByType文本/javascript“访问加1周”
缓存控制:
<IfModule mod_headers.c>
<FilesMatch "\.(ico|pdf|flv|jpe?g|png|gif|swf|ogg)$">
Header set Cache-Control "max-age=2592000, public"
Header unset Last-Modified
Header unset ETag
FileETag None
</FilesMatch>
<FilesMatch "\.(css)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(js)$">
Header set Cache-Control "max-age=604800, private"
</FilesMatch>
<FilesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=216000, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(x?html?|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
</FilesMatch>
<FilesMatch "\.(eot|font.css|otf|ttc|ttf|woff)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
</IfModule>
### / CACHING ###
标题集缓存控制“最大年龄=2592000,公共”
上次修改未设置的标题
标题未设置ETag
FileTag无
标题集缓存控制“最大年龄=604800,公共”
标题集缓存控制“最大年龄=604800,专用”
标题集缓存控制“最大年龄=216000,公共,必须重新验证”
标题集缓存控制“最大年龄=1,私有,必须重新验证”
标题集访问控制允许原点“*”
###/缓存###
我能做些什么来修复它
顺便说一句,我发现了这个:但是看起来这家伙在图像方面没有问题,因为有以下警告:
指定上次修改的或ETag头以启用缓存
以下资源的验证
我怀疑您的配置中的这些行是罪魁祸首:
未设置标题上次修改的标题
标题未设置ETag
文件标签无
您的配置正在删除用于缓存验证的标头信息。如果出现此警告:
指定上次修改的或ETag头以启用缓存
以下资源的验证
我怀疑您的配置中的这些行是罪魁祸首:
未设置标题上次修改的标题
标题未设置ETag
文件标签无
您的配置正在删除用于缓存验证的标头信息