Насколько я понимаю, Redirect::intended()
перенаправляют на страницу, предназначенную для пользователей, до входа в систему или возвращаются к URL-адресу, который может передаваться в качестве аргумента.
Мой вопрос заключается в следующем: как я могу сделать это так, чтобы он сначала проверял, есть ли намеченный URL-адрес в сеансе, если он не использует Redirect::back()
, а если это не удается, он перенаправляет на профиль пользователей, который будет таким же, как Redirect::route('users.show', Auth::user()->username);
Частично, поведение, которое вы ожидали, может быть достигнуто путем передачи референта в Redirect::intended
как параметр referer
.
Остальное зависит от критериев отказа Redirect::back
как вы это понимали.
Вот мой прием
// Retrieve the referer - Ripped from Redirect::back() $back = Redirect::getUrlGenerator()->getRequest()->headers->get('referer'); // your expected Fall back Redirection logic if (itSucceed($back)) { Redirect::intended($back); } else { Redirect::route(...) }
$fallbackUrl = Request::header('referer') ?: URL::route('users.show', Auth::user()->username); Redirect::intended($fallbackUrl);