这是一个常见的问题。当我注销然后单击浏览器后退按钮时,浏览器会显示网站上最后加载的页面。
我在堆栈上经历了很多链接,大多数建议在注销时清除标题但是没有用。
这是我试过的代码
Route::get('main/logout',function(){
Session::flush();
Auth::logout();
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.
session()->flash('alert-success', 'Success logged out');
return Redirect::to('/');
});
更新
我还尝试在头文件
中的APP.blade.php文件中添加它<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="cache-control" content="no-store" />
<meta http-equiv="cache-control" content="must-revalidate" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
如果您有任何IDEA请告诉我
谢谢
答案 0 :(得分:1)
您必须在用户返回的页面上包含以下行,而不是实际的注销页面:
header("Cache-Control: no-cache, no-store, must-revalidate");
但是这样你就失去了浏览器缓存的优势,在大多数情况下这不是一件好事。离开吧。无论如何,用户无法在注销后与服务器进行交互,只检索他已经看过的数据。
答案 1 :(得分:0)
试试这个。
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Content-Type: text/html');
答案 2 :(得分:0)
在您的注销功能中,清除缓存,将此代码放在此处
Artisan::call('cache:clear');