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 相关文章推荐
PHP系统流量分析的程序
Oct 09 PHP
打造计数器DIY三步曲(上)
Oct 09 PHP
一些常用的php函数
Dec 06 PHP
Zend Framework动作助手Redirector用法实例详解
Mar 05 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
Oct 08 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
Oct 11 PHP
laravel框架与其他框架的详细对比
Oct 23 PHP
Cookie跨域问题解决方案代码示例
Nov 24 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
php输出全球各个时区列表的方法
2015/03/31 PHP
PHP会话处理的10个函数
2015/08/11 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
代码生成器 document.write()
2007/04/15 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
javascript数据类型详解
2017/02/07 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
简单上手Python中装饰器的使用
2015/07/12 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
python 下划线的不同用法
2020/10/24 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
求职简历推荐信范文
2013/12/02 职场文书
小学生获奖感言范文
2014/02/02 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
python源码剖析之PyObject详解
2021/05/18 Python
纯html+css实现Element loading效果
2021/08/02 HTML / CSS