如何在htaccess文件中利用第三方API和小部件的缓存控制?

时间:2017-09-13 05:05:49

标签: javascript .htaccess api caching

我已经将缓存文件用于常见文件类型。但是如何为第三方API(如谷歌API)和像(Disqus,AddThis,Pinterest,Twitter)这样的小部件添加缓存过期无法获得太多帮助,这些小部件使我的网站速度减慢到80%(之前是97%)< / p>

这些是一些常见的小部件,它们会减慢我的网站速度:

  1. cdn.viglink.com/images/pixel.gif?ch=1&rn=5.711541143245995 (15秒)
  2. cdn.viglink.com/images/pixel.gif?ch=2&rn=5.711541143245995 (15秒)
  3. disqus.com/next/config.js(60秒)
  4. assets.pinterest.com/js/pinit_main.js?0.7067068491596729(4 分钟)
  5. s7.addthis.com/js/300/addthis_widget.js(10分钟)
  6. m.addthisedge.com/live/boost/ra-9a7a0e60b8044af/_ate.track.config_resp(60秒)
  7. platform.twitter.com/widgets.js(30分钟)
  8. apis.google.com/js/api.js(30分钟)
  9. apis.google.com/js/rpc:shindig_random.js?onload=init(30分钟)
  10. 这是我的.htaccess文件

    # Leverage Browser 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 text/javascript "access 1 month"
      ExpiresByType application/x-shockwave-flash "access 1 month"
      ExpiresByType image/x-icon "access 1 year"
      ExpiresDefault "access 1 month"
    </IfModule>
    
    <IfModule mod_headers.c>
      <filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$">
      Header set Cache-Control "max-age=2678400, public"
      </filesmatch>
      <filesmatch "\.(html|htm)$">
      Header set Cache-Control "max-age=7200, private, must-revalidate"
      </filesmatch>
      <filesmatch "\.(pdf)$">
      Header set Cache-Control "max-age=86400, public"
      </filesmatch>
      <filesmatch "\.(js)$">
      Header set Cache-Control "max-age=2678400, private"
      </filesmatch>
    </IfModule>
    

1 个答案:

答案 0 :(得分:0)

要设置Google Analytics(js)的缓存过期,这是一个很好的资源: Leverage browser caching for 3rd party JS

对于其他人,请下载所有j并将它们本地放在服务器上。

  

但是如果你有cloudflare,我发现了一种更简单的方法   (已安装https)

登录您的cloudflare帐户并转到缓存标签并将浏览器缓存到期级别设置为最少8天,您几乎完成清除所有内容并等待5分钟后尝试在

中测试您的网址

https://developers.google.com/speed/pagespeed/insights/

如果您的速度仍然没有加速,那么尝试使用一些长长的网址进行测试,看看,移动速度肯定会加速。