据我了解,Redirect::intended()
会在登录前重定向到用户目标页面,或者回退到可以作为参数传递的网址。
我的问题是:我如何制作它以便它首先检查会话中是否存在预期的网址,如果不是Redirect::back()
,那么如果它失败则会重定向到用户与Redirect::route('users.show', Auth::user()->username);
答案 0 :(得分:1)
$fallbackUrl = Request::header('referer') ?: URL::route('users.show', Auth::user()->username);
Redirect::intended($fallbackUrl);
答案 1 :(得分:1)
部分地,您可以通过将引用者作为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(...)
}