当我跑步时Google PageSpeed Insights我得到以下优化建议。
当我点击利用浏览器缓存它会将我发送到一个建议我使用的页面的链接缓存控制或者ETags。
设置应该足够简单Cache-Control
,.htaccess
所以我在现有文件中包含了以下几行.htaccess
。
<IfModule mod_headers.c>
<filesMatch "https://www.google-analytics.com/analytics.js">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
<filesMatch "https://www.googletagmanager.com/gtag/js?id=UA-00000000-0">
Header set Cache-Control "max-age=900, public"
</filesMatch>
</IfModule>
我上传了.htaccess
文件,测试了一下,还是出现了同样的错误。尽管 Google 建议使用Cache-Control
这个方法,但问题还是没有解决。
当那不起作用时我尝试了ExpiresByType
但也没有解决问题。
<IfModule mod_expires.c>
ExpiresActive On
<IfModule mod_expires.c>
ExpiresByType application/javascript "access plus 2 hours"
</IfModule>
</IfModule>
有没有办法使用.htaccess
文件来指示浏览器缓存这些文件,或者这是不可能的?
答案1
任何事物都.htaccess
无法影响您无法控制的域。
您有几个选择。
- 自托管 gtag.js 文件,该文件可以但不推荐。
- 代理 gtag.js 文件,向其中添加您自己的标头。这解决了上述文档中的主要问题(更新)。
- 忽略它。这本质上是假阳性;谷歌可能故意地出于某种原因,为这些资产设置较低的缓存时间。