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

404页面是网站必备的一个页面,它承载着用户体验与SEO优化的重任。404页面通常为用户访问了网站上不存在或已删除的页面,服务器返回的404错误。如果站长没有设置404页面,会出现死链接,蜘蛛爬行这类网址时,不利于搜索引擎收录。

综上百科来的一堆啰嗦为一句话就是404页面是必要的;

接下来的内容就是讲述使用thinkphp时如何设置404页面;

本来奔着减少脑细胞损耗的原则;直接谷歌了下;结果发现市面上那些thinkphp设置404页面的文章都是千篇一律的建一个控制器;里面然后通过_empty()再$this->display跳转到404页面;各种麻烦;而且还不好用;得;索性还是自己捉摸个办法吧;

thinkphp的配置项里面是有设置错误页面模板的;

    ‘TMPL_EXCEPTION_FILE‘   =>  THINK_PATH.‘Tpl/think_exception.tpl‘,// 异常页面的模板文件

这个模板页面其实就是我们在开发过程中的报错页面;通常是某某行出错;或者就某某模块、控制器、方法等不存在;

是不是把这个模板文件改成自己写的404就完事了呢?

也对;也不对;因为如果直接把这个模板改掉的话;那开发过程中全都给跳转到404页面就没法调试了;所以正确的做法是做个判断;

如果是开发过程中那调试模式开启着那就显示调试用的报错页面;如果是已上线调试模式关闭;就调用404页面;

好了;废话这么多;上代码;在自己的配置文件中添加如下内容;

‘TMPL_EXCEPTION_FILE‘    =>  APP_DEBUG ? THINK_PATH.‘Tpl/think_exception.tpl‘ : ‘./Template/default/Home/Public/404.html‘,

./Template/default/Home/Public/404.html这个文件是自己的404页面的目录位置;替换为自己的即可;

时间: 2024-11-03 01:09:52

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

ThinkPHP笔记——开启debug调试模式

debug+trace模式可以查看开发过程中TP的错误信息,可以更好地帮助开发者debug.但是debug模式的开启还不是简单的在配置文件中中设置就可以的,经过查资料摸索,找到一种有效的方法. 首先在你已经部署好了ThinkPHP的项目目录 然后注意是在入口文件开启调试模式,在入口文件index.php 中写入一下代码define(‘APP_DEBUG’,true); 首先删除Runtime目录 ,然后再次运行一下,你会发现runtime目录下面的~runtime.php 文件没有了,说明你的调

【UWP】仅在TextBlock文本溢出时显示Tooltip

原文:[UWP]仅在TextBlock文本溢出时显示Tooltip 前言 这是我今天在回答SO问题时偶然遇到的,觉得可能还比较通用,就记录下来以供参考. 通常,我们使用ToolTip最简单的方式是这样: <TextBlock Text="Test" ToolTipService.ToolTip="Test" /> 这样在光标悬浮在TextBlock上方时,会显示一个提示条,但是这似乎又违背了一个设计原则: ToolTip作为提示,应该仅在当前内容显示不全

css设置字体超出指定的宽度时显示...

一般会在新闻列表中或者详情列表中 a标签字数超出指定的宽度: 可以采用css养时解决“ text-overflow: ellipsis; white-space: nowrap; overflow: hidden; 举例: <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css

笔记-返回到前一个页面时显示前一个页面中ajax获取的数据

笔记第一部分:http://www.cnblogs.com/zczhangcui/p/6869219.html 在第一部分遇到的问题是,用ajax获取了一系列列表信息后,拼接好html后插入到了原有页面中,类似于一系列新闻列表,点击查看详情后再返回到这一页,会出现所有ajax获取并插入页面的结构都没有了,经过调研,决定尝试从history对象入手. 我使用了history.replaceState方法来改变当前页面的state,每次ajax获取信息后,将页面中希望保留的内容放入state中,当返

ASP.NET优化性能方法之一禁用调试模式(转)

若要设置 ASP.NET 应用程序的调试模式,必须编辑应用程序的 Web.config 配置文件. 通常,ASP.NET 应用程序的 Web.config 文件与应用程序位于相同的 URL 位置上. 如果 ASP.NET 应用程序位于 www.ykmaiz.com/aaa/bbb,则应用程序的 Web.config 文件通常位于 www.ykmaiz.com/aaa/bbb/Web.config. Web.config 是 XML 格式的文件.您可以使用任何标准文本编辑器或 XML 分析器编辑该

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

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

geany写C语言,printf打印中文时显示乱码

原因 geany设置了编码格式为utf8 运行时显示出的cmd窗口编码格式为GBK 解决方法 打开cmd窗口,使用" chcp 65001 " 命令,临时设置cmd窗口显示为utf编码格式,然后手工运行程序即可正常显示. 永久修改cmd窗口显示为utf8编码格式. 参考:windows系统修改cmd窗口utf-8编码格式 原文地址:https://www.cnblogs.com/sfriend/p/10806983.html

解决ThinkPHP关闭调试模式时报错的问题汇总

解决ThinkPHP关闭调试模式时报错的问题汇总 案例一: 最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 "页面调试错误,无法找开页面,请重试"的错误. 明明本地设置define('APP_DEBUG', false) 运行没点问题,怎么放到服务器上就出错了昵? baidu,Google还是没有找到解决方案,突然发现项目APP_Name/Runtime/Cache目录和APP_Name/Runtime/Logs目录没有可写权限,

linux下thinkphp取消调试模式后找不到网页解决方案

1.最大嫌疑是Runtime目录权限不足,导致common~runtime.php文件无法生成, 解决:1.整个Runtime目录删除,让系统重新生成; 2.给Runtime及以下的所有文件足够权限0755. 2.网上搜索如下: 解决ThinkPHP关闭调试模式时报错的问题汇总 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2015-04-22我要评论 本文给大家汇总了一下个人在项目中所遇到的关闭ThinkPHP的调试模式时遇到报错的几种情况以及最终的处理办法,非常的简单实用,