Thinkphp 3.2中控制页面不缓存

我的掘金通道

最近开发WAP网站时,最讨厌的就是back键,会造成些麻烦事。不过,问题总有办法解决。

有些页面,点击back键回退会加载缓存,这不是想要的,所以希望能够控制该页面不缓存,每次请求都需要从服务器获取最新数据。

解决思路就是通过控制 HTTP 的Cache-control 头

image

可以看到,Thinkphp 3.2 默认的Cache-control 为 private

那是因为配置文件中默认设置为 private

image

页面在渲染的时候将这个配置中的值设置为 Cache-control 头

image

那根据以上信息,一开始我只想到两种解决办法:

1、修改配置中的值 => 不现实,全局修改了

2、改写源码 => TP不可能这么傻

最后的解决办法是:在控制页面不缓存的方法中设置 C('HTTP_CACHE_CONTROL',"no-store");

image

那么顺便再巩固下 Cache-control 头的一些参数设置:

具体参考 MDN 的web docs

不积跬步无以至千里

你可能感兴趣的:(Thinkphp 3.2中控制页面不缓存)