В моем приложении Laravel у меня есть промежуточное ПО для определенных маршрутов, в этом промежуточном ПО я проверяю, чтобы перенаправить на URL.
public function handle($request, Closure $next)
{
$isValidated= ....
if ($isValidated) {
session()->put('url.intended', URL::full());
return redirect()->route('routeone')
}
return $next($request);
}
в методе store этой таблицы при регистрации я делаю перенаправление следующим образом, но получается, что когда я это делаю, он перенаправляет меня на 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