首页  >  文章  >  后端开发  >  关于thinkPHP5框架设置404和403等http状态页面的方法

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

不言
不言原创
2018-06-19 15:56:132801浏览

这篇文章主要介绍了thinkPHP5框架设置404、403等http状态页面的方法,结合实例形式分析了thinkPHP5框架设置404页面的相关配置、视图显示页面及控制器调用相关操作技巧,需要的朋友可以参考下

本文实例讲述了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;">
<p class="" style="font-size: 36px;margin: 0 auto;text-align: center;color: #323232;">
  您查找的页面不存在,还有
  <span id="dd" style="color:darkorange;font-weight: bold;">6</span>
  秒,页面将自动跳转首页...
</p>
<!--倒计时-->
<script type="text/javascript">
function run(){
  var s = document.getElementById("dd");
  if(s.innerHTML == 0){
    window.location.href=&#39;/&#39;;
    return false;
  }
  s.innerHTML = s.innerHTML * 1 - 1;
}
window.setInterval("run();", 1000);
</script>

测试  controller

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

404效果如下图:

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于ThinkPHP使用UTFWry地址库进行IP定位的方法

以上是关于thinkPHP5框架设置404和403等http状态页面的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn