如何重定向另一个页面,而不是在Laravel 5.4中重定向到中止403错误页面
我的问题是,每当出现403错误时,我应该重定向到我自己的自定义页面或显示类似的flash消息(在同一页面上)。我如何在Laravel中实现这一点?您可以创建特定HTTP错误代码的视图。如果在如何重定向另一个页面,而不是在Laravel 5.4中重定向到中止403错误页面,laravel,laravel-5,laravel-5.3,laravel-5.4,Laravel,Laravel 5,Laravel 5.3,Laravel 5.4,我的问题是,每当出现403错误时,我应该重定向到我自己的自定义页面或显示类似的flash消息(在同一页面上)。我如何在Laravel中实现这一点?您可以创建特定HTTP错误代码的视图。如果在resources/views/errors/403.Blade.php中设置刀片模板,它将用于所有403错误响应 或者,如果需要更复杂的内容,可以为403响应设置自定义异常处理程序。我发现了一个很好的例子。您可以为特定的HTTP错误代码创建一个视图。如果在resources/views/errors/40
resources/views/errors/403.Blade.php
中设置刀片模板,它将用于所有403错误响应
或者,如果需要更复杂的内容,可以为403响应设置自定义异常处理程序。我发现了一个很好的例子。您可以为特定的HTTP错误代码创建一个视图。如果在
resources/views/errors/403.Blade.php
中设置刀片模板,它将用于所有403错误响应
或者,如果需要更复杂的内容,可以为403响应设置自定义异常处理程序。我发现了一个很好的例子。你可以使用app/Exceptions/Handler.php来实现这一点
public function render($request, Exception $e)
{
if ($e->getStatusCode() == 403) {
return redirect('yourpage'); // this will be on a 403 exception
}
return parent::render($request, $e); // all the other exceptions
}
您可以为此使用app/Exceptions/Handler.php
public function render($request, Exception $e)
{
if ($e->getStatusCode() == 403) {
return redirect('yourpage'); // this will be on a 403 exception
}
return parent::render($request, $e); // all the other exceptions
}
之后,只需将页面返回到该页面
在这之后,只需将页面返回到该页面。您可以使用app/Exceptions/Handler.php进行此操作,正如上面所述,或者您可以使用try-catch进行基本错误处理
try {
do Something //
}
catch (Exception $e) {
//log error in log file or dv
return redirect->('home');
}
您可以使用app/Exceptions/Handler.php进行上述操作,也可以使用try-catch进行基本错误处理
try {
do Something //
}
catch (Exception $e) {
//log error in log file or dv
return redirect->('home');
}
嗨,Thomas,这不起作用,它正在重定向到默认错误页面,而不是我想重定向的地方,谢谢。这应该可以,你能检查一下状态代码是否确实是403吗?我想我选择了错误的函数,它应该是
getStatusCode
而不是getCode
。这不可靠$e->getStatusCode()
经常对未定义的方法Symfony\Component\Debug\exception\FatalThrowableError::getStatusCode()抛出一个异常调用-例如,在一个令牌不匹配异常上
嗨,Thomas,它正在重定向到默认错误页,而不是我想重定向的地方,谢谢。这应该可以,你能检查一下状态码是403吗?我想我选择了错误的函数,它应该是getStatusCode
而不是getCode
。这不可靠<代码>$e->getStatusCode()
经常对未定义的方法Symfony\Component\Debug\exception\FatalThrowableError::getStatusCode()抛出异常调用-例如在令牌不匹配异常上