laravel 框架配置404等异常页面


Posted in PHP onJanuary 07, 2019

在Laravel中所有的异常都由Handler类处理,该类包含两个方法:report和render,其中render方法将异常渲染到http响应中。laravel的Handler类文件位置:app/Exceptions/Handler,由于render方法时间异常渲染到http响应中,所以我们只需要修改下render方法即可

网上很多的方法是将render方法修改成:

public function render($request, Exception $exception)
{
  if ($exception) {
    return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode());
  }
  return parent::render($request, $exception);
}

这时候你的测试可能是没有问题的,但是如果你如果写了登录的方法的话,这时候如果你访问必须要登录的页面的时候,这时候会报错

laravel 框架配置404等异常页面

这是由于如果你访问了必须要登录的页面的时候,这时候就会进入app/Exceptions/Handler.php的render方法,这时候$exception->getStatusCode()是不存在的,这时候就会报错了,那么如何解决呢?

这时候我们找到parent::render的方法所在:

laravel 框架配置404等异常页面

这时候我们发现原来laravel框架已经将我们的这种情况包含进去了,那么我们就可以即将上面的方法改为:

public function render($request, Exception $exception)
{
  if (!($exception instanceof AuthenticationException)) {
    return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode());
  }
  return parent::render($request, $exception);
}

这时候就完美解决了这个问题

然后在resources/view/error/下面新建错误页面,错误页面的命名为:{errorcode}..balde.php,其中的errorcode为错误码,例如404..balde.php

配置完成后访问一个不存在的路由时即可跳转到你配置的404页面

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP5在Apache下的两种模式的安装
Sep 05 PHP
用php来检测proxy
Oct 09 PHP
一个从别的网站抓取信息的例子(域名查询)
Oct 09 PHP
php中用文本文件做数据库的实现方法
Mar 27 PHP
PHP gbk环境下json_dencode传送来的汉字
Nov 13 PHP
php中\r \r\n \t的区别示例介绍
Feb 08 PHP
php常用字符串处理函数实例分析
Nov 22 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
laravel框架中间件简单使用方法示例
Jan 25 PHP
PHP array_shift()用法实例分析
Jan 07 #PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 #PHP
PHP一个简单的无需刷新爬虫
Jan 05 #PHP
PHP智能识别收货地址信息实例
Jan 05 #PHP
PHP数字金额转换成中文大写显示
Jan 05 #PHP
PHP yield关键字功能与用法分析
Jan 03 #PHP
PHP获取对象属性的三种方法实例分析
Jan 03 #PHP
You might like
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
php 中英文语言转换类代码
2011/08/11 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
如何在PHP中读写文件
2020/09/07 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
js简单抽奖代码
2015/01/16 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
Python实现求两个csv文件交集的方法
2017/09/06 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
python实现拓扑排序的基本教程
2018/03/11 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
高中数学教师求职信
2013/10/30 职场文书
英语道歉信范文
2014/01/09 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
打架检讨书300字
2014/02/02 职场文书
人力资源作业细则
2014/03/03 职场文书
办理收楼委托书范本
2014/10/09 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
罗马假日观后感
2015/06/08 职场文书