欢迎来到牛博站长教程网!

WordPress

当前位置: 主页 > CMS教程 > WordPress

WordPress 在 404 页面显示首页模板问题的修复

时间:2024-06-25 11:52:08|栏目:WordPress|点击:

问题描述:在一个 404 的地址上,不显示 404 模板,显示的是首页的模板。而在文章页目录下的 404 地址能正常显示 404 模板,比如 /post/abc/ 能显示 404,在 /abc/post/ 就会显示首页。


问题原因:系统在处理 rewrite 规则的时候,有段代码把已经设置的 404 状态删除了。

而造成这个问题是因为 $_SERVER[‘PHP_SELF’] 为空,系统会把这个值重新设置,所以上面 if 条件中的第二个值 $requested_file == $self 为真。

// Fix empty PHP_SELF.
$PHP_SELF = $_SERVER['PHP_SELF'];
if ( empty( $PHP_SELF ) ) {
    $_SERVER['PHP_SELF'] = preg_replace( '/(\?.*)?$/', '', $_SERVER['REQUEST_URI'] );
    $PHP_SELF            = $_SERVER['PHP_SELF'];
}

问题修复:了解问题的真正原因之后就好办了,PHP_SELF 为空是因为 php 配置文件中的 cgi.fix_pathinfo 设为 0,所以把 cgi.fix_pathinfo 配置 改为 1,重启 php 就可以了。


上一篇:WordPress 开发的坑

栏    目:WordPress

下一篇:WordPress 的图片处理

本文标题:WordPress 在 404 页面显示首页模板问题的修复

本文地址:https://nb.sd.cn/WordPress/240.html

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。本站涉及源码和程序均为学习用途,无商业盈利

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:44281525 | 邮箱:44281525@qq.com

Copyright © 2002-202X 牛博站长教程网 版权所有 Powered by EyouCms鲁ICP备2024061276号-1