首页 > 解决方案 > Laravel 重定向检测

问题描述

我如何才能真正检测到用户被重定向到页面?每次在 POST 请求后重定向用户时,我都想刷新缓存。我试过这样做

if(http_response_code() == 304)
{
   //
}

但是,在使用时

dd(http_response_code());

无论如何,它给了我200,无论是否有重定向。有什么选择吗?

标签: phplaravel

解决方案


如果您仅通过应用程序在内部进行重定向,则可以通过 Laravel 会话保存属性来实现。

https://laravel.com/docs/5.8/session#storing-data

您实际启动重定向的位置:

use Illuminate\Support\Facades\Session;

Session::put('redirectToUsersPage', '1');
return redirect()->route('route')->with($data);

在您重定向到的页面的控制器中:

use Illuminate\Support\Facades\Session;    

if ( Session::get('redirectToUsersPage') ) {
// This was a redirected request, lets do our logic.
Session::forget('redirectToUsersPage');
}

推荐阅读