thinkPHP5框架设置404、403等http状态页面的方法


Posted in PHP onJune 05, 2018

本文实例讲述了thinkPHP5框架设置404、403等http状态页面的方法。分享给大家供大家参考,具体如下:

要做到这一点,首先要在你的配置文件将调试模式关闭(在开发阶段要打开):

'app_debug' => false,

然后在配置文件 config.php 中配置404等页面的模板路径(APP_PATH指的是application路径):

'http_exception_template'  => [
    // 定义404错误的重定向页面地址
    404 => APP_PATH.'404.html',
    // 还可以定义其它的HTTP status
    401 => APP_PATH.'401.html',
    403 => APP_PATH.'404.html',
  ],

404页面位于 application 目录下,404.html部分代码如下:

<img src="__INDEX__/img/404.png" width="818" height="595" style="display: block;margin: 0 auto;">
<div class="" style="font-size: 36px;margin: 0 auto;text-align: center;color: #323232;">
  您查找的页面不存在,还有
  <span id="dd" style="color:darkorange;font-weight: bold;">6</span>
  秒,页面将自动跳转首页...
</div>
<!--倒计时-->
<script type="text/javascript">
function run(){
  var s = document.getElementById("dd");
  if(s.innerHTML == 0){
    window.location.href='/';
    return false;
  }
  s.innerHTML = s.innerHTML * 1 - 1;
}
window.setInterval("run();", 1000);
</script>

测试  controller

if (Request::instance()->isAjax()) {
  $data = input();
  $info = [];
  $where = '';
  switch ($data['msg']) {
  case '验证码':
    $info = [
    'y' => '输入正确',
    'n' => '输入错误',
    ];
  $where = session::get('admin_login_session') == md5($data['param']);break;
 }
 if ($where) {
  echo '{"info":"' . $data['msg'] . $info ['y'] . '","status":"y"}';//注意ValidForm返回格式(json)
 } else {
  echo '{"info":"' . $data['msg'] . $info ['n'] . '","status":"n"}';//注意ValidForm返回格式(json)
 }
}else{
 throw new \think\exception\HttpException(403, '~~~非法请求~~~');
}

404效果如下图:

thinkPHP5框架设置404、403等http状态页面的方法

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php 字符转义 注意事项
May 27 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
symfony2.4的twig中date用法分析
Mar 18 PHP
PHP7新特性foreach 修改示例介绍
Aug 26 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
php验证码生成器
May 24 PHP
php+mysql开发中的经验与常识小结
Mar 25 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
php+laravel 扫码二维码签到功能
May 15 PHP
PHP函数按引用传递参数及函数可选参数用法示例
Jun 04 #PHP
PHP实现的超长文本分页显示功能示例
Jun 04 #PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 #PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
Jun 04 #PHP
Laravel利用gulp如何构建前端资源详解
Jun 03 #PHP
PHP学习记录之数组函数
Jun 01 #PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
Jun 01 #PHP
You might like
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
2016/11/16 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
Aptana调试javascript图解教程
2009/11/30 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
javaScript基础详解
2017/01/19 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
vue-cli开发环境实现跨域请求的方法
2018/04/07 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
python实现连续图文识别
2018/12/18 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
Django实现web端tailf日志文件功能及实例详解
2019/07/28 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
Python如何转换字符串大小写
2020/06/04 Python
python time.strptime格式化实例详解
2021/02/03 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
50道外企软件测试面试题
2014/08/18 面试题
个人党性剖析材料
2014/02/03 职场文书
领班岗位职责范文
2014/02/06 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
标枪加油稿
2015/07/22 职场文书
护士医德医风心得体会
2016/01/25 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
JS数组去重详情
2021/11/07 Javascript