Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance CakePHP Google PageSpeed洞察利用浏览器缓存_Performance_.htaccess_Cakephp_Caching - Fatal编程技术网

Performance CakePHP Google PageSpeed洞察利用浏览器缓存

Performance CakePHP Google PageSpeed洞察利用浏览器缓存,performance,.htaccess,cakephp,caching,Performance,.htaccess,Cakephp,Caching,我使用的是CakePHP 2.6,目前我正在尝试修复Google PageSpeed警告,我被困在这个问题上: 利用浏览器缓存 在静态资源>的HTTP标头中设置过期日期或最长期限会指示浏览器从本地磁盘>而不是通过网络加载以前下载的资源 这是我的app/webroot/.htaccess文件 <IfModule mod_headers.c> Header set Connection keep-alive </IfModule> <ifModule mod_

我使用的是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>

标题集连接保持活动状态
#压缩文本、html、javascript、css、xml:
AddOutputFilterByType泄气文本/普通
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE应用程序/xml
AddOutputFilterByType DEFLATE应用程序/xhtml+xml
AddOutputFilterByType DEFLATE应用程序/rss+xml
AddOutputFilterByType DEFLATE应用程序/javascript
AddOutputFilterByType DEFLATE应用程序/x-javascript
#或者,按扩展名压缩某些文件类型:
SetOutputFilter放气
SetOutputFilter放气
过期于
ExpiresDefault“访问加24小时”
ExpiresByType应用程序/javascript“访问加24小时”
过期按类型映像/x-ico“访问加24小时”
ExpiresByType图像/jpg“访问加24小时”
过期按类型图像/jpeg“访问加24小时”
ExpiresByType image/gif“访问加24小时”
ExpiresByType图像/png“访问加24小时”
ExpiresByType文本/css“访问加24小时”
重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
引用

我们建议静态资产或不经常更改的资产的缓存时间至少为一周,最好为一年


因此,请尝试将过期时间从“访问加24小时”增加到“访问加1周”。

在我将.htaccess更新为“访问加1周”后,我仍然从Google Pagespeed获得信息,它设置为24小时。我发现了一个不同的问题,同一个问题,但没有解决办法。因为他们在谈论版本1.2,而我在讨论版本2.6,所以我不知道问题是否仍然存在,因为您可以通过htaccess设置到期值,所以CakePHP版本是不相关的。