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

问题描述 投票:0回答:2

在我的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。 ?

php laravel laravel-5
2个回答
0
投票

尝试使用此代码:

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

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

或直接:

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

session()->put('url.intended', $url);

0
投票

你能做到这一点吗?

return back();

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

© www.soinside.com 2019 - 2024. All rights reserved.