如何重定向到Laravel 5.6中的以前的URL并打算使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何重定向到Laravel 5.6中的以前的URL并打算使用相关的知识,希望对你有一定的参考价值。

在我的Laravel应用程序中,我有一个特定路由的中间件,在这个中间件中我验证重定向到一个URL。

public function handle($request, Closure $next)
{
    $isValidated= ....
    if ($isValidated) {
        session()->put('url.intended', URL::full());
        return redirect()->route('routeone')
    }
    return $next($request);
}

当你注册时,在该表的存储方法中我按以下方式进行重定向,但事实证明,当我这样做时,它会将我重定向到domain/img/favicon.png并且我没有执行上一个路由

public function store(Request $request)
{
    ....
    return redirect()->intended(session('url.intended') ?? '/admin');
}

这里有什么问题,或者如何在中间件重定向之前解决此细节以重定向到URL。 ?

答案

尝试使用此代码:

$referrer = $this->request->headers->get('referer');

$url = $referrer ? $this->to($referrer) : $this->getPreviousUrlFromSession();

或直接:

$url = request()->headers->get('referer');

session()->put('url.intended', $url);
另一答案

你能做到这一点吗?

return back();

来自文档https://laravel.com/docs/5.7/redirects#creating-redirects

以上是关于如何重定向到Laravel 5.6中的以前的URL并打算使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 URL 参数将 www 重定向到 Laravel 中的非 www

如何使用 ajax 提交带有 3 个提交按钮的表单而不重定向到 Laravel 中的表单操作 url?

重定向标头在 Laravel 中可见而不是隐藏

Laravel 5.6 上的 Ajax 身份验证重定向

在laravel中重定向到外部url时如何保留会话数据

重定向回 Laravel 中的相同位置