【问题标题】:Leverage browser caching - expiry dates are not being set利用浏览器缓存 - 未设置到期日期
【发布时间】:2017-03-30 16:54:36
【问题描述】:

我正在使用https://developers.google.com/speed/pagespeed/insights/,它显示我网站上的每张图片都没有被缓存。我试过使用 W3 Total Cache,用这个编辑 .htaccess:

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

还有这个:

<filesMatch ".(ico|pdf|flv|jpg|svg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=84600, public"
</filesMatch> 

代码,但无济于事。 为什么图像没有被缓存?有没有办法解决这个问题?

PageSpeed 的链接:https://developers.google.com/speed/pagespeed/insights/?url=darbas.pcz.lt

提前谢谢你!

【问题讨论】:

标签: php .htaccess caching browser-cache


【解决方案1】:

您需要添加单词plus才能使其工作,

否则你会这么说expires when its accessed one month。这是没有意义的。

ExpiresActive On
ExpiresDefault "access plus 14 days"
ExpiresByType application/javascript "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType application/x-httpd-php "access plus 30 seconds"

【讨论】:

  • link 这是我的 .htaccess 文件目前的样子,但它仍然无法正常工作。我是否仍然做错了什么,或者某些插件可能会干扰,例如 Autoptimize?顺便说一句,我正在使用 Wordpress CMS。
  • 没关系。我认为您对 mod_expires 未加载可能是正确的。我只是不知道我是否可以以某种方式检查。无论如何还是非常感谢你:)
  • 只需去掉 &lt;IfModule mod_expires.c&gt; 部分和围绕您的 expires 调用的 &lt;/IfModule&gt; 部分,然后重新加载页面 -- 如果您的网站未加载,则 mod_expires 未加载;)
  • 还要确保在 httpd.conf 中为虚拟主机设置了 AllowOverrides
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-12
  • 2011-10-15
  • 2023-03-06
  • 2014-07-18
相关资源
最近更新 更多