thinkPHP底层设置跳转404页面

项目开发完之后要屏蔽报错,在底层目录写个404页面,入口文件APP_DEBUG改成false,代码方面使用以下方法

1.使用空操作,即_empty(),在进入某个控制器中,如果找不多这个方法,就直接调用 _empty,然后进入404。

2.在tp里面,初始化项目时,runtime下有个common~runtime.php,这个是缓存文件,里面有大部分的核心文件,加载空模块或者空控制器时,自动从这个文件里获取相关的信息,包括加载空模块和空控制器时,都是从这个文件里获取信息。

3.加载空模块的报错信息在Thinkphp/Think/Dispatcher.class.php的178行

代码:

E(L(‘MODULE_NOT_EXIST‘).’:’.MODULE_NAME);

在这前面加

header(“Location:/404.html”);die;即可

具体页面自己写个即可,404放入底层目录

4.加载空控制器(不存在的控制器)

Thinkphp/Library/Think/App.class.php102行

E(L(‘CONTROLLER_NOT_EXIST‘).’:’.CONTROLLER_NAME);

上面加行404代码即可。

最后删除runtime目录的所有文件(以防万一,其实只要删除common~runtime.php即可),然后重新加载页面即可。

这样在线上就不会再出现加载不了模块或者控制的信息了,全是调到404.

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 18:43:14

thinkPHP底层设置跳转404页面的相关文章

三个关于404页面的设置问题

网站建设中的404页面也就是一个网站遇到错误时展示的页面.在一个网站运营中,404页面是不可避免都会出现的,比如由于用户输入网址有误,或者是站长自己误删了某个页面的内容等等,这都会产生http的404错误码.既然无法控制的404的出现,那么我们就应该做好出现404后的善后处理,好好运用404页面为站点的优化和用户体验服务.在通常情况下,404页面被站长看作是处理无效链接的重要手段,利用好404页面也可以给网站带来非常明显的帮助.关于404页面设置的问题有许多,笔者在这里重点介绍一下关于404页面

TP设置404页面

无法加载模板跳向404页面/thinkphp/library/think/Dispatcher.class.php中176行    // 加载模块的扩展配置文件            load_ext_file(MODULE_PATH);        }else{            header("Location:/404.html");die;            // E(L('_MODULE_NOT_EXIST_').':'.MODULE_NAME);        }

404页面 3秒后跳到首页 实现

当我们访问一个页面不存在的时候,就会跳到404页面 一般网站都在在404页面中做一个处理, 就是当用户3秒种内还没有任何操作的话,就会自动跳转到其它页面 技术实现有两种方法 1. 在404页面中的header间加上 <meta http-equiv=”refresh” content=”3;url=http://你跳转的网站”> 2. 用户JS实现location <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional

thinkphp 自定义404页面

一. 手册->调试->异常处理 在公共config.php 中加入: 'TMPL_EXCEPTION_FILE' => '/Public/404.html', //访问不存在的跳转 url访问错误的时候,就会自动去跟目录下的Public文件夹 下找404.html url错误事例:http://localhost/newsuning/index.php/Admidfdfdf    //写入错误的模版 二. 当访问不存在的控制器时 跳到404页面 1.新建一个控制器 EmptyContro

Wordpress设置腾讯公益404页面

Wordpress主题会自带404页面,如果需要替换成自定义的需要修改404.php页面,这里以腾讯公益404页面为例介绍下怎样自定义页面,如果大家没有特定的404页面可以设置成公益404页面. 1.找到404页面设置的地方 一般在网站根目录下wp-content/themes/你的主题下,我的主题是sela,所以具体位置是wp-content/themes/sela/404.php 2.备份原页面修改成新的 备份原404.php页面并修改如下: <?php header("HTTP/1.

vue 项目中当访问路由不存在的时候默认访问404页面

前言: 在Vue项目中,当访问的页面路由不存在或错误时,页面显示为一片空白.然而,通常我们需要对访问url不存在或者错误的情况下添加默认的404页面,即not found页面. 一般的处理方法是: 在最后添加一个path: * ,优先级从上到下查找路由,都没有的时候全部指向 404页面 ,代码如下: const baseRoute = [ { path: '/login', name: 'login', component: Login }, {path: '/', redirect: '/in

Thinkphp设置仅在调试模式关闭时显示404页面

404页面是网站必备的一个页面,它承载着用户体验与SEO优化的重任.404页面通常为用户访问了网站上不存在或已删除的页面,服务器返回的404错误.如果站长没有设置404页面,会出现死链接,蜘蛛爬行这类网址时,不利于搜索引擎收录. 综上百科来的一堆啰嗦为一句话就是404页面是必要的: 接下来的内容就是讲述使用thinkphp时如何设置404页面: 本来奔着减少脑细胞损耗的原则:直接谷歌了下:结果发现市面上那些thinkphp设置404页面的文章都是千篇一律的建一个控制器:里面然后通过_empty(

ThinkPHP 3.1 404页面的设置

在很多网站中都会有使用404页面的时候,在ThinkPHP框架中该如何设置呢,接下来我介绍其中一种方法 1.首先要在Lib/Action 下建立EmptyAction.class.php模块内容如下: <?php /* * @author rocky * @date 20141021 * @desc 空模块404等错误 * */ class EmptyAction extends CommonAction { function _empty(){ header("HTTP/1.0 404

nginx 设置错误的自定义404页面跳转到500

5年前写的站, 当时是在apache下写的error page, 换了nginx后, 404页面直接跳到了500 服务器内部错误. 只需要在配置 try_files 的时候指定一下就可以了 我的是debian, 在/etc/nginx/site-available/default 里面location / server{ </pre><pre name="code" class="plain"> location / { <span s