Laravel 响应:302 暂时重定向
问题
在 Laravel 控制器或路由中,如何实现 302 暂时性重定向?
回答
重定向响应是 Illuminate\Http\RedirectResponse
类的实例,并且包含用户需要重定向至另一个 URL 所需的头信息。Laravel 提供了几种方法用于生成 RedirectResponse
实例。其中最简单的方法是使用全局辅助函数 redirect
:
Route::get('dashboard', function () {
return redirect('home/dashboard');
});
下面是 redirect
函数的源码:
/**
* Get an instance of the redirector.
*
* @param string|null $to
* @param int $status
* @param array $headers
* @param bool $secure
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
*/
function redirect($to = null, $status = 302, $headers = [], $secure = null)
{
if (is_null($to)) {
return app('redirect');
}
return app('redirect')->to($to, $status, $headers, $secure);
}
可以看到,默认情况下,其采用的就是 302 状态码的暂时性重定向。