【发布时间】:2017-03-04 21:08:47
【问题描述】:
我正在构建一个简单的功能,您可以将destination 查询参数传递给/login 页面,这会导致您被重定向到该页面,而不是我设置的默认行为。
目标存储在会话中,然后用于在我的 LoginController 内部重定向。
这是我的sn-p:
if ($destination = session('login_redirect')) { .
$route = app('router')->getRoutes()->match(app('request')->create($destination));
$destination_route = route($route->getName(), $route->parameters());
}
如果路径有效,我只需要重定向,并且我想在决定重定向之前检查它。有效,我的意思是 Laravel 将返回 200 的 URL。现在,当路径有效时,当我调用app('request')->create() 将路径转换为路线时,我(逻辑上)得到NotFoundHttpException。
是在app\Exceptions\Handler.php 的render() 函数中做一些恶作剧的唯一方法吗?如果是这样,我不清楚如何区分有效的 404(用户页面请求)和我通过以编程方式创建请求而得到的异常。
【问题讨论】: