我希望将浏览器缓存添加到我的Laravel应用程序中。
我使用过Elixir版本控制工具: https://laravel.com/docs/5.2/elixir#versioning-and-cache-busting
然而,根据Google PageSpeed Insights的说法,这些文件仍然没有缓存,而是我收到了这条消息:
在HTTP标头中为静态设置到期日期或最长期限 资源指示浏览器加载以前下载的 来自本地磁盘而非网络的资源。
我认为这可能是因为我需要手动添加缓存标头?
答案 0 :(得分:8)
是的,您需要在HTTP标头中为静态资源设置Cache-Control
和Expires
,以便不会显示此Google PageSpeed消息。
由于您已经在使用Elixir版本控制工具,因此您可以安全地将JS / CSS文件的Expires设置为1周。
这样做取决于您使用的是哪种Web服务器。
如果您使用Apache
,则可以将以下代码放在.htaccess
或虚拟网站的配置文件中。
<FilesMatch "\.(js|css)$">
ExpiresActive On
ExpiresDefault "access plus 1 weeks"
</FilesMatch>
请务必启用mod_expires
Apache模块!
使用相同的语法,您可以为.html,.jpg,.png等文件设置缓存规则,以加快页面加载速度。
如果您使用的是nginx,有类似的方法可以解决此问题,您可以按照this tutorial