我使用的是Laravel 5.2版,不知道如何将Laravel默认页面重定向到我的模板404页面
答案 0 :(得分:10)
使用abort(404);
一些例外描述了来自服务器的HTTP错误代码。对于 例如,这可能是“未找到页面”错误(404),“未经授权 错误“(401)或甚至开发人员生成500错误。为了 从应用程序的任何位置生成这样的响应,使用 以下内容:
abort(404);
如果您在路由或控制器中的任何位置调用abort(404);
,它将抛出HTTPNotFoundException
,它会查找要在resources/views/errors/
目录中显示的刀片模板,其文件名与错误代码相同。< / p>
示例:
在app/Http/routes.php
Route::get('/test', function(){
return abort(404);
});
在您的resources/views/errors/
目录中创建 404 .blade.php,请注意该文件的名称与中止相对应( 404 );
答案 1 :(得分:1)
修改app / Exceptions / Handler.php并添加如下几行:-
public function render($request, Exception $e)
{
if ($e instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException)
{
return redirect('/');
}
return parent::render($request, $e); }
使用您的路线名称代替/重定向。
答案 2 :(得分:0)
在/ resources / views / errors目录中有一个404页面
编辑此页面,您可以使其看起来像您想要的那样
答案 3 :(得分:0)
创建视图并在 app / Exceptions / Handler.php 中设置此代码:
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
.
.
.
public function render($request, Exception $exception)
{
if($exception instanceof NotFoundHttpException)
{
return response()->view('missing', [], 404);
}
return parent::render($request, $e);
}