【问题标题】:Laravel 4 how check if a route only comes/redirected from another route?Laravel 4如何检查一条路线是否仅来自另一条路线/重定向?
【发布时间】:2014-06-05 10:25:42
【问题描述】:

假设我有localhost/public/admin,它会立即重定向到localhost/public/user/login

我将如何获得user/login 中的admin 值?

【问题讨论】:

    标签: laravel laravel-4 laravel-routing


    【解决方案1】:

    您需要获取引用并检查它是否包含“管理员”。试试下面的

    $referer = Request::referer();
    // or
    // $referer = Request::server('HTTP_REFERER');
    
    if (strpos($referer,'admin') !== false) {
        dd('coming from admin')
    }
    

    编辑#1:正如@tomvo 所指出的,您也可以在L4 中使用URL::previous() 而不是Request::referer()

    编辑#2:它实际上被拼写为referer 而不是@JamesF 指出的referrer

    编辑 #3:在 Laravel 5 中,Request::referer() 方法似乎不再存在,您仍然可以使用 @TheSerenin 指出的 Request::header('referer') 来获取它

    【讨论】:

    • L4 中的 URL::previous()
    • 看起来像 Request::referer() 带有一个 'r' - 原始规范中的奇怪拼写错误 (en.wikipedia.org/wiki/HTTP_referer)
    • 在 Laravel 5 中 Request::referer() 方法似乎已经不存在了,你仍然可以使用 Request::header('referer'); 获得它
    • Request::server('HTTP_REFERER') 帮助了我:stackoverflow.com/a/45713501/470749
    猜你喜欢
    • 2016-11-08
    • 1970-01-01
    • 2018-12-18
    • 2014-12-23
    • 1970-01-01
    • 2014-12-19
    • 2020-04-10
    • 2011-12-26
    相关资源
    最近更新 更多