本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规。大家都是程序员,不要闹得不开心。

苏南大叔发现博客的404页面并没有起作用。而是提示路由问题,显然被php代码拦截了404状态。

苏南大叔:typecho如何开启debug模式用于调试404页面? - typecho-debug
typecho如何开启debug模式用于调试404页面?(图6-1)

异常结果显示

苏南大叔:typecho如何开启debug模式用于调试404页面? - error
typecho如何开启debug模式用于调试404页面?(图6-2)

那么猜测可能是开启了typecho的debug模式。果然,在config.inc.php里面,看到了如下php语句。

define('__TYPECHO_DEBUG__', TRUE);

那么,按照既往经验,这里只需要把true改成false就可以了。结果,修改并没有生效。重启服务器,还是没有生效。

意料之外

查找了一下关键字代码,结果发现,typecho的源码是这么写的,见下方截图。

苏南大叔:typecho如何开启debug模式用于调试404页面? - typecho-debug-enable-false-final
typecho如何开启debug模式用于调试404页面?(图6-3)

typecho的原版逻辑是if defined,那么就是,只要你定义了这个值,无论true还是false,那么都是开启debug模式了。汗。那么按着这个逻辑,只能是把debug这句话注释掉了。

苏南大叔:typecho如何开启debug模式用于调试404页面? - error2
typecho如何开启debug模式用于调试404页面?(图6-4)

可能的方案一

不过,按着typecho官方的说法,在theme下面放置一个404.php的这个办法,却是没有生效的。

苏南大叔:typecho如何开启debug模式用于调试404页面? - 404_1
typecho如何开启debug模式用于调试404页面?(图6-5)

可能的方案二

毕竟我使用了nginx的error_page项目来自定义了404页面。这个也是能够生效的。

苏南大叔:typecho如何开启debug模式用于调试404页面? - nginx_404
typecho如何开启debug模式用于调试404页面?(图6-6)

结论

欢迎关注苏南大叔给大家带来的typecho系列文章。https://newsn.net/tag/typecho/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。