如何在Laravel 5中添加浏览器缓存?

Yah*_*din 6 php caching laravel laravel-5

我希望将浏览器缓存添加到我的Laravel应用程序中.

我使用过类似的Elixir版本工具:https: //laravel.com/docs/5.2/elixir#versioning-and-cache-busting

但是,根据Google PageSpeed Insights的说法,这些文件仍然没有缓存,而是我收到了这条消息:

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

我想这可能是因为我需要手动添加缓存头?

Kev*_*vin 8

是的,你需要设置Cache-ControlExpires在静态资源的HTTP标头,让这款谷歌的PageSpeed消息将不会出现.

由于您已经在使用Elixir版本控制工具,因此可以安全地将JS/CSS文件的Expires设置为1周.

这样做的方式取决于您使用的Web服务器.

如果您使用Apache,可以将以下代码放入.htaccess虚拟网站的配置文件中.

<FilesMatch "\.(js|css)$">
  ExpiresActive On
  ExpiresDefault "access plus 1 weeks"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

一定要启用mod_expiresApache模块!

使用相同的语法,您可以为.html,.jpg,.png文件等设置缓存规则,以加快页面加载速度.

如果您使用的是nginx,有类似的方法可以解决此问题,您可以按照本教程进行操作