【问题标题】:Google Page Speed Leverage browser caching not marked as resolvedGoogle Page Speed Leverage 浏览器缓存未标记为已解决
【发布时间】:2015-08-06 07:32:39
【问题描述】:

在页面速度测试中,我几乎没有想要解决的警告,例如:

利用浏览器缓存
在静态资源的 HTTP 标头中设置过期日期或最长期限会指示浏览器从本地磁盘而不是通过网络加载以前下载的资源。

然后它指出本地 .js 和 .css 文件

但我的 htaccess 中有这个:

<FilesMatch "\.(js|css|ttf)$">
    Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(html|htm|php)$">
    Header set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>
<FilesMatch "\.(css|js|gif|jpeg|png|ico)$">
ExpiresActive On
ExpiresDefault "access plus 1 year"
</FilesMatch>

知道我做错了什么吗?

【问题讨论】:

  • 您使用 Insights 测试的 URL 是什么?
  • 使用您的.htaccess,PageSpeed Insights 返回Leverage browser caching, You have enabled browser caching。当您在浏览器中打开页面时,您是否在浏览器控制台中看到标题?
  • 您用ExpiresDefault 加上1 年,用max-age 加上7 天(604800 秒)。您是否尝试使用相同的值。这可能是问题...
  • 是的,我做了,没用..

标签: .htaccess caching apache2 browser-cache google-pagespeed


【解决方案1】:

好吧,这是在黑暗中拍摄的,但我遇到了 Apache 不尊重我的 .htaccess 标头的情况,我不得不使用 always 关键字“强制”它们,如下所示:

<FilesMatch "\.(js|css|ttf)$">
    Header always set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header always set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(html|htm|php)$">
    Header always set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>
<FilesMatch "\.(css|js|gif|jpeg|png|ico)$">
    ExpiresActive On
    ExpiresDefault "access plus 1 year"
</FilesMatch>

当您的操作是现有标头的函数时,您可能需要指定条件 always,具体取决于原始标头设置在哪个内部表中。与 always 对应的表用于本地生成的错误响应,如以及成功的回应。另请注意,在某些情况下,在这两个条件下重复此指令是有意义的,因为相对于现有标头,它始终不是 onsuccess 的超集:

  • 您正在向本地生成的非成功(非 2xx)响应(例如重定向)添加标头,在这种情况下,最终响应中仅使用始终对应的表。
  • 您正在修改或删除由 CGI 脚本生成的标头,在这种情况下,CGI 脚本位于始终对应的表中,而不是默认表中。
  • 您正在修改或删除由服务器的某些部分生成的标头,但在默认的 onsuccess 条件下未找到该标头。

来自Apache Module mod_headers

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-02
    • 2017-04-23
    • 2016-12-28
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多