【问题标题】:Caching Expires Header CSS and JS not working缓存过期标题 CSS 和 JS 不起作用
【发布时间】:2016-11-02 15:24:46
【问题描述】:

我一直在努力加快我的网站速度。

我在 Google 中进行速度测试时出现的一个问题是“利用浏览器缓存”。我已经查看了这个并在我的 htaccess 中添加了一些代码。请看下面:

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

这对我的一些文件有效,但不是全部,我仍然收到一条消息,指出我的 js 和 css 文件的加载未设置为过期。有人可以帮忙吗?我做错了什么让他们不会过期?这是我来自 Google 的错误消息,即使之前的代码在 htaccess 中也是如此。

http://www.mydomain.co.uk/css/grid.css (expiration not specified)
http://www.mydomain.co.uk/js/addons.js (expiration not specified)
http://www.mydomain.co.uk/js/addons/jquery.cookiebar.js (expiration not specified)
http://www.mydomain.co.uk/js/addons/jquery.flexslider.js (expiration not specified)
http://www.mydomain.co.uk/js/base/html5shiv.js (expiration not specified)
http://www.mydomain.co.uk/js/base/modernizr.custom.js (expiration not specified)
http://www.mydomain.co.uk/js/nav.js (expiration not specified)
http://www.mydomain.co.uk/mailer/css/form-style.css (expiration not specified)
http://connect.facebook.net/en_US/sdk.js (20 minutes)
http://www.google-analytics.com/analytics.js (2 hours)
http://www.mydomain.co.uk/fonts/Effra_Std_Bd.woff (2 days)
http://www.mydomain.co.uk/fonts/Effra_Std_Lt.woff (2 days)
http://www.mydomain.co.uk/fonts/Effra_Std_Md.woff (2 days)
http://www.mydomain.co.uk/fonts/Effra_Std_Rg.woff (2 days)
http://www.mydomain.co.uk/mailer/js/jquery.validate.js (2 days)
http://www.mydomain.co.uk/mailer/js/validate.js (2 days)

【问题讨论】:

    标签: javascript html css .htaccess caching


    【解决方案1】:

    看你上面的代码有一些遗漏:

    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 year"
    ExpiresByType application/x-ico "access plus 1 year"
    ExpiresByType image/icon "access plus 1 year"
    

    Facebook .js 文件不是您可以像其他文件一样修复的东西,因为它是一个外部文件...您可以使用cron 来解决该问题,这基本上是存储文件并在本地加载它.您会发现您在 Google Analytics、Lead Forensics 等方面也遇到了同样的问题。

    如果您想尝试使用 cron,请查看本指南:http://diywpblog.com/leverage-browser-cache-optimize-google-analytics/

    虽然我觉得这毫无意义,尤其是在涉及到 Google Analytics 时……他们不会因为他们自己的软件而惩罚你!

    【讨论】:

      猜你喜欢
      • 2011-02-25
      • 2011-11-08
      • 2013-08-18
      • 2016-07-20
      • 2018-05-01
      • 2011-08-19
      • 2013-07-01
      • 2019-05-08
      • 2018-10-15
      相关资源
      最近更新 更多