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 相关文章推荐
实用函数2
Nov 08 PHP
php db类库进行数据库操作
Mar 19 PHP
phpize的深入理解
Jun 03 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
访问编码后的中文URL返回404错误的解决方法
Aug 20 PHP
PHP之autoload运行机制实例分析
Aug 28 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
php实现中文转数字
Feb 18 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
Jul 12 PHP
php基于单例模式封装mysql类完整实例
Oct 18 PHP
安装docker和docker-compose实例详解
Jul 30 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 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 smarty 二级分类代码和模版循环例子
2011/06/01 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
python解析json实例方法
2013/11/19 Python
Python语言描述最大连续子序列和
2017/12/05 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
python版本单链表实现代码
2018/09/28 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
酒店采购员岗位职责
2014/03/14 职场文书
个人校本研修方案
2014/05/26 职场文书
单位工作证明格式模板
2014/10/04 职场文书
高三英语复习计划
2015/01/19 职场文书
伏羲庙导游词
2015/02/09 职场文书
安全伴我行主题班会
2015/08/13 职场文书
小学语文教学随笔
2015/08/14 职场文书
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python
MySQL基于索引的压力测试的实现
2021/11/07 MySQL
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏