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

时间:2016-04-25 01:37:31

标签: php laravel caching laravel-5

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

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

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

  

在HTTP标头中为静态设置到期日期或最长期限   资源指示浏览器加载以前下载的   来自本地磁盘而非网络的资源。

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

1 个答案:

答案 0 :(得分:8)

是的,您需要在HTTP标头中为静态资源设置Cache-ControlExpires,以便不会显示此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

相关问题