Laravel 4如何检查一条路线是不是仅来自另一条路线/重定向?

Posted

技术标签:

【中文标题】Laravel 4如何检查一条路线是不是仅来自另一条路线/重定向?【英文标题】: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 值?

【问题讨论】:

【参考方案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') 帮助了我:***.com/a/45713501/470749

以上是关于Laravel 4如何检查一条路线是不是仅来自另一条路线/重定向?的主要内容,如果未能解决你的问题,请参考以下文章

一旦用户访问另一条路线,如何清除 redux 状态?

Laravel - 检查刀片上的路线

路线存在但不起作用,删除的路线仍然有效 Laravel

如何以角度将数据从一条路线传输到另一条路线? [复制]

导航到另一条路线后如何使用 Provider?

Angular 2 - 如何使用 this.router.parent.navigate('/about') 导航到另一条路线?