停止在Laravel中缓存某个视图?

时间:2017-04-10 15:15:46

标签: php laravel caching

我正在寻找一种方法来阻止一个视图,特别是在Laravel中缓存。我有一个网站,它需要在每个页面加载时使用特殊键来通过ajax执行某些操作。我的用户正在做的是点击浏览器上的“后退”,并使用旧的特殊键显示缓存版本?意味着他们被赋予了无效的特殊密钥错误消息,他们不确定这究竟意味着什么。

如何强制它提供新的副本,为他们提供一个新的特殊键?

1 个答案:

答案 0 :(得分:1)

在Laravel中有多种方法可以做到这一点,但是根据@ Joe的评论,它可以用来实现Cache-Control标题。

确保您使用的缓存标头合适for your clients' HTTP version

您可以在控制器方法中将标题添加到响应中:

return response($content)
        ->header('Cache-Control', 'no-cache, no-store, must-revalidate')
        ->header('X-Header-One', 'Header Value')
        ->header('X-Header-Two', 'Header Value');

您也可以通过在相关路线上注册自定义middleware来实现此目的,或使用诸如laravel-httpcache

之类的包