WordPress 在 404 页面显示首页模板问题的修复
问题描述:在一个 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 就可以了。
您可能感兴趣的文章
- 07-01为什么wordpress很吃服务器资源
- 06-30WordPress网站优化插件推荐-极速毫秒级响应
- 06-30WordPress程序/functions.php收集整理的各种自定义优化代码分享
- 06-30Modown 付费下载WordPress主题使用教程
- 06-25不用 WooCommerce 插件怎么做 B2B 外贸网站
- 06-25WordPress 子目录安装 Nginx 配置
- 06-25WordPress 的图片处理
- 06-25WordPress 在 404 页面显示首页模板问题的修复
- 06-25WordPress 开发的坑
- 06-25wp_reset_postdata() 有什么作用
阅读排行
推荐教程
- 06-25wp_reset_postdata() 有什么作用
- 06-25WordPress 如何查看钩子和过滤器的执行顺序
- 06-2520 个 WordPress 常用钩子介绍
- 06-25WordPress 怎么展示友情链接
- 06-25WordPress 常用函数
- 06-25WordPress 默认主题代码设置
- 06-25WordPress 打开很慢的解决方案
- 06-25WordPress 过滤器 (filters) 大全
- 06-30WordPress网站优化插件推荐-极速毫秒级响应
- 06-25WordPress禁用 emoji 时,后台不能禁用问题的解决