我有这样的路线
Route :: get('/ articles / {article}','ArticleController @ show');
一切正常但如果您将mydomain.com/articles/non-existent放在文章名称不存在的地方,我会收到内部错误。
为什么不返回404或如何让它返回404或如何处理内部错误以显示页面而不会弄乱404错误处理?
我目前在我的Exceptions / Handler.php
中有这个public function render($request, Exception $exception)
{
if ($this->isHttpException($exception)) {
return response()->view('errors.404', [], 404);
}else{
return response()->view('errors.500', [], 500);
}
}
即使只是正常的404错误,也会返回500页。
感谢您的帮助!
答案 0 :(得分:0)
尝试找出它是什么类型的异常,因为isHttpException非常通用。同样在你的情况下它甚至不是NotFoundHttpException,因为它没有返回404.If你得到500肯定是因为errorException。
//This will let you know if your dealing with 404 or not
if($exception instanceof NotFoundHttpException)
{
return response()->view('front.missing', [], 404);
}
else
{
return response()->view('errors.500', [], 500);
}
答案 1 :(得分:0)
您应该在控制器上抛出异常。所以你可以看到404页面。
$article = Article::find(article_id); // or with slug
If(!$article){
throw new NotFoundHttpException;
}