laravel 访问不存在的路由跳转问题!

php中文网
发布: 2016-12-01 01:27:45
原创
1730人浏览过

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

回复内容:

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

理论上你把 debug 关了,线上环境是会自动到 404 的。

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

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


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

在laravel项目根目录下的app下的Exceptions目录下的Handler.php文件;我们可以在这里自定义异常以及处理异常

问问小宇宙
问问小宇宙

问问小宇宙是小宇宙团队出品的播客AI检索工具

问问小宇宙 77
查看详情 问问小宇宙
最常见的莫过于ModelNotFoundException

下面是一个Demo:

route:

<code class="php">vikin.cc/article/8</code>
登录后复制

Handler file:

<code class="PHP">
//处理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);

   }

}</code>
登录后复制

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

相关标签:
路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号