typecho设置自定义404页面正确姿势详解

前言
由于各种各样的原因,笔者在鼓捣404页面的时候走了很多弯路,万能的搜索引擎也并没有给出答案,经过雷鬼指点以后才恍然大悟。

ps:输入关键词以后,出来的结果都是关于nginx和404的问题探讨。

一般步骤

  • 1.在主题包文件夹中新建一个php文件,命名为:404.php
  • 2.检查自己的nginx配置是否拦截了404请求(网上有说法是这个原因,但是笔者并没有拦截)
  • 3.关闭debug模式,(这个非常重要,不然会出现一堆异常乱码,即debug模式下默认会把异常码返回),即找到根目录底下的index.php页面,找到define('TYPECHO_DEBUG',true)的值置为false如图所示:

typecho设置自定义404页面正确姿势详解

typecho设置自定义404页面正确姿势详解

第三步其实是雷鬼提示,修改完毕后笔者高高兴兴上传代码,但是代码并没有生效!!!!令人发指!!!

依然出现下图所示:

typecho设置自定义404页面正确姿势详解

但是typechodev.com官网明明能够成功的啊!仔细检查了各种配置文件也没发现异常!经过暴力和官方的index.php文件进行对比以后发现,typechodev.com注释了define('TYPECHO_DEBUG',true)!

十分惊艳的是:注释掉index.php的define('TYPECHO_DEBUG',true)后重新测试,成功了!!!!!!

如图:

typecho设置自定义404页面正确姿势详解

至此,设置404页面的正确姿势已经完美给出。

讨论

Q:可能细心的同学已经发现,笔者在第一次关闭debug模式的姿势不对,也就是应该用小写的false。
A:刚开始也设置的小写,但是并不成功啊!!!

Q:设置为false后问题在哪呢?
A:笔者猜测可能需要重启环境?哈哈哈,并没有测试过。

Q:能不能不设置模板的404页面,直接用200来拦截?
A:可以,但是前提是关闭typecho的debug模式,不然typecho在抛出异常信息后还是会以正常的页面输出状态,即:http code=200,从而骗过拦截器。

一行代码也可以做公益 - 腾讯公益404页面介绍和代码使用

公益404页面介绍

  • 链接地址:http://www.qq.com/404/
  • 公益404页面是由腾讯公司员工志愿者自主发起的互联网公益活动。
  • 网站只需要在自己的404页面中嵌入一段简单的代码,就能通过互联网来迅速传播失踪儿童信息,从而提高找回失踪儿童的概率。失踪儿童信息来自宝贝回家寻子网。

公益404页面接入方法

  • 注意事项
    如果一个 404 页面的内容小于 512B,IE 会认为该 404 页面不够友好,在 IE 下将不会成功返回该 404 错误页面
    宽版:复制以下js代码,嵌入到您的404页面

代码:

<script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8"></script>

效果展示

typecho设置自定义404页面正确姿势详解

窄版:复制以下js代码,嵌入到您的404页面
代码

<script type="text/javascript" src="http://www.qq.com/404/search_children.js?edition=small" charset="utf-8"></script>

效果展示:

typecho设置自定义404页面正确姿势详解


版权声明:未经书面授权禁止转载、摘编、复制或建立镜像。对既成事实本站将保留所有的权利。

无相关文章