【问题标题】:CakePHP Google PageSpeed Insights Leverage browser cachingCakePHP Google PageSpeed Insights 利用浏览器缓存
【发布时间】:2016-01-10 22:51:35
【问题描述】:

我正在使用 CakePHP 2.6,此时我正在尝试修复 Google PageSpeed 警告,我被困在这个警告上:

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

这是我现在的 app/webroot/.htaccess 文件

<IfModule mod_headers.c>
    Header set Connection keep-alive
</IfModule>

<ifModule mod_deflate.c>
     # compress text, html, javascript, css, xml:
     AddOutputFilterByType DEFLATE text/plain
     AddOutputFilterByType DEFLATE text/html
     AddOutputFilterByType DEFLATE text/xml
     AddOutputFilterByType DEFLATE text/css
     AddOutputFilterByType DEFLATE application/xml
     AddOutputFilterByType DEFLATE application/xhtml+xml
     AddOutputFilterByType DEFLATE application/rss+xml
     AddOutputFilterByType DEFLATE application/javascript
     AddOutputFilterByType DEFLATE application/x-javascript
     # Or, compress certain file types by extension:
     <files *.html>
         SetOutputFilter DEFLATE
     </files>
     <files *.ctp>
         SetOutputFilter DEFLATE
     </files>
</ifModule>

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 24 hours"
    ExpiresByType application/javascript "access plus 24 hours"
    ExpiresByType image/x-ico "access plus 24 hours"
    ExpiresByType image/jpg "access plus 24 hours"
    ExpiresByType image/jpeg "access plus 24 hours"
    ExpiresByType image/gif "access plus 24 hours"
    ExpiresByType image/png "access plus 24 hours"
    ExpiresByType text/css "access plus 24 hours"
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

【问题讨论】:

    标签: performance .htaccess cakephp caching


    【解决方案1】:

    引用https://developers.google.com/speed/docs/insights/LeverageBrowserCaching

    对于静态资产或不经常更改的资产,我们建议最短缓存时间为一周,最好最长为一年。

    所以尝试将过期时间从“访问加 24 小时”增加到“访问加 1 周”。

    【讨论】:

    • 在我将 .htaccess 更新为“访问加 1 周”后,我仍然从 Google Pagespeed 获得设置为 24 小时的信息。我发现了一个不同的问题,同样的问题,但没有解决方案。由于他们在谈论 1.2 版而我在 2.6 版不知道问题是否仍然存在stackoverflow.com/questions/18927604/…
    • CakePHP 版本无关紧要,因为您通过 htaccess 设置到期值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 2013-09-26
    • 2014-12-04
    • 2017-08-19
    • 2017-09-05
    相关资源
    最近更新 更多