WordPress根目录文件存在却返回404,添加echo后恢复的原因?
问题原因解析
当你只加载wp-blog-header.php时,哪怕设置了WP_USE_THEMES = false,WordPress的核心查询逻辑还是会启动:
- WP会根据当前请求的URL去匹配内部的路由规则(比如文章、页面、分类等)
- 因为你访问的是一个自定义文件,不存在对应的WP内容条目,WP会触发内置的404处理流程,最终返回404状态码
而当你添加echo "ok";后,浏览器先收到了输出内容,WP在准备发送404响应头时,会检测到响应头已经随输出内容发送,这时它就不会再执行404的后续处理,自然不会返回404错误。
简单说:WP的404触发是在没有内容输出的前提下才会完成整个流程,提前输出内容会打断这个流程。
内容的提问来源于stack exchange,提问作者JojoLapin45
相关产品推荐
相关产品推荐

