Php Laravel重定向::预期()条件回退

Php Laravel重定向::预期()条件回退,php,laravel,http-redirect,laravel-routing,Php,Laravel,Http Redirect,Laravel Routing,据我所知,Redirect::designed()将在登录之前重定向到用户想要的页面,或者返回到可以作为参数传递的url 我的问题是:如何使它首先检查会话中是否有一个预期的url,如果没有,它将执行Redirect::back(),如果失败,它将重定向到与Redirect::route('users.show',Auth::user()->username)相同的用户配置文件注意: 在某种程度上,可以通过将referer作为参数referer传递给Redirect::destined来实现预期的

据我所知,
Redirect::designed()
将在登录之前重定向到用户想要的页面,或者返回到可以作为参数传递的url

我的问题是:如何使它首先检查会话中是否有一个预期的url,如果没有,它将执行
Redirect::back()
,如果失败,它将重定向到与
Redirect::route('users.show',Auth::user()->username)相同的用户配置文件

注意:
  • 在某种程度上,可以通过将referer作为参数
    referer
    传递给
    Redirect::destined
    来实现预期的行为

  • 其余部分取决于
    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(...)
    }
    

    您定义
    重定向::返回()
    失败的标准是什么,以便触发下一个
    重定向::路由(…)
    知道
    重定向::返回()
    总是重定向到引用如果有人直接链接到登录页面,就不会有引用者…您应该解释您的代码在这里做什么。只包含未注释代码的答案质量很低。谢谢!幸运的是,我能很好地理解它;然而,詹姆斯是对的,你应该解释你的解决方案。我喜欢你的解决方案是多么简单汉克斯!根据马韦恩的回答做了一些修改。使用了
    Request::header('referer')
    而不是答案中的长链。您是对的
    Request::header('referer')
    简洁、粗俗,并产生相同的结果。
    // 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(...)
    }