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页面][1]

![typecho自定义404页面 – 找到代码为false][2]

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

依然出现下图所示:

![typecho-route-异常信息][3]

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

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

如图:

![typecho设置自定义404页面方法][4]

至此,设置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页面

代码:

**效果展示**

![typecho-引用腾讯公益404代码效果图][5]

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

效果展示:

![typecho-引用腾讯公益404代码效果图][6]

[1]: https://www.typechodev.com/usr/uploads/2017/04/3831545578.png
[2]: https://www.typechodev.com/usr/uploads/2017/04/23469084.png
[3]: https://www.typechodev.com/usr/uploads/2017/04/787287705.png
[4]: https://www.typechodev.com/usr/uploads/2017/04/1544650696.png
[5]: https://www.typechodev.com/usr/uploads/2017/04/1216281622.jpg
[6]: https://www.typechodev.com/usr/uploads/2017/04/1334645194.jpg

原创文章,作者:admin,如若转载,请注明出处:https://www.typechodev.com/case/813.html

(0)
上一篇 2017-03-21 上午9:12
下一篇 2017-03-31 上午3:37

相关推荐

发表评论

您的电子邮箱地址不会被公开。