Laravel 响应:302 暂时重定向 1 个改进

问题

在 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 状态码的暂时性重定向。

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!