laravel没有route.php,laravel 访问不存在的路由跳转问题!

laravel5.2 访问一个不存在的路由时,如何跳转到404,LNMP环境,要怎么配置?

理论上你把

debug

关了,线上环境是会自动到

404

的。

你是想要「跳转到 404 页」还是「显示 404 页」?如果是要跳转的话,请配置 app/Exceptions/handler.php,并在 NotFoundException 被抛出时返回一个 Redirect 响应。

1、如果你只是想抛出404错误,debug开关可以满足你;

2、如果你想处理异常或自定义异常,可参照如下;

在laravel项目根目录下的

app

下的

Exceptions

目录下的

Handler.php

文件;我们可以在这里

自定义异常

以及

处理异常

最常见的莫过于

ModelNotFoundException

下面是一个Demo:

route:

vikin.cc/article/8

Handler file:

//处理Http响应异常

public function render($request, Exception $e)

{

switch($e){

//使用类型运算符 instanceof 判断异常(实例)是否为 ModelNotFoundException

case ($e instanceof ModelNotFoundException):

//进行异常处理

return $this->renderException($e);

break;

default:

return parent::render($request, $e);

}

}

//处理异常

protected function renderException($e)

{

switch ($e){

case ($e instanceof ModelNotFoundException):

//自定义处理异常,此处我们返回一个404页面

return view('errors.404');

break;

default:

//如果异常非ModelNotFoundException,我们返回laravel默认的错误页面

return (new SymfonyDisplayer(config('app.debug')))

->createResponse($e);

}

}

通过上述案例,你可以轻松的处理异常,并给用户一个友好的提示!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值