0

0

PHP 404 错误排查:新 PHP 页面无法访问的常见原因与解决方案

心靈之曲

心靈之曲

发布时间:2026-01-12 11:07:20

|

680人浏览过

|

来源于php中文网

原创

PHP 404 错误排查:新 PHP 页面无法访问的常见原因与解决方案

当在本地开发环境中新增 about.php 等 php 文件却始终返回“404 not found”错误时,问题通常并非文件缺失,而是 web 服务器未正确识别或路由该请求——尤其在使用 apache 的 .htaccess 重写规则、虚拟主机配置或 url 重写机制的项目中。

该错误看似是文件路径问题,实则多为服务器端路由控制逻辑所致。从你提供的信息可确认以下关键事实:

  • index.php 和 search.php 可正常访问 → 说明 PHP 解析、Web 服务(如 Apache/XAMPP)及基础目录结构均无问题;
  • 所有新建的 .php 文件(包括简单 HTML 结构)均 404 → 排除文件权限、编码、BOM 头等常见文件级问题;
  • 全新项目中同样文件可运行 → 进一步证实是当前项目的特定配置干扰了直接 PHP 文件访问

最可能的原因是:项目启用了 URL 重写(RewriteEngine),且规则未放行原始 .php 文件请求。
例如,.htaccess 中可能存在类似以下规则:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]

该配置会将所有非真实文件/目录的请求统一转发给 index.php(常用于 MVC 路由)。但若 about.php 确实存在,理论上应被 !-f 条件排除而直接访问——除非:

  • .htaccess 文件未被 Apache 启用(检查 httpd.conf 中 AllowOverride All 是否对项目目录生效);
  • 重写规则中误加了 RewriteBase / 或路径偏移,导致匹配异常;
  • 存在更早的 RewriteRule 拦截了 .php 扩展名(如强制去除 .php 后缀,但未配置对应重写)。

? 快速验证与解决步骤:

Qwen
Qwen

阿里巴巴推出的一系列AI大语言模型和多模态模型

下载
  1. 检查 .htaccess 文件是否存在并生效
    在项目根目录下查找 .htaccess,临时重命名为 .htaccess.bak,刷新 http://localhost:84/Projects/Calculator/Calculator/about.php。若此时可访问,即确认是重写规则导致。

  2. 修正重写规则(推荐)
    若需保留友好 URL,应在重写前显式放行真实 PHP 文件:

    RewriteEngine On
    # 允许直接访问 .php 文件
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteCond %{REQUEST_FILENAME} \.php$
    RewriteRule ^ - [L]
    
    # 其他路由(仅处理不存在的文件/目录)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [QSA,L]
  3. 验证服务器配置(XAMPP/WAMP 用户)
    确保 Apache 的 mod_rewrite 已启用(XAMPP 控制面板 → Apache → Config → httpd.conf,确认 LoadModule rewrite_module modules/mod_rewrite.so 未被注释,且对应 块中含 AllowOverride All)。

⚠️ 注意:不要依赖“复制 index.php 改名”的临时方案(如答案所提),它虽可能绕过某些逻辑判断,但未触及根本问题,且易引发后续维护混乱。

立即学习PHP免费学习笔记(深入)”;

✅ 总结:PHP 文件 404 的核心排查顺序应为:
① 检查 .htaccess 是否存在及规则逻辑;
② 验证 Apache mod_rewrite 与 AllowOverride 配置;
③ 审查虚拟主机或路由入口(如 index.php 是否接管了全部请求);
④ 最后才考虑文件系统层面问题(权限、大小写、隐藏字符等)。

通过以上结构化排查,可精准定位并永久解决此类“文件存在却 404”的典型开发环境问题。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
apache是什么意思
apache是什么意思

Apache是Apache HTTP Server的简称,是一个开源的Web服务器软件。是目前全球使用最广泛的Web服务器软件之一,由Apache软件基金会开发和维护,Apache具有稳定、安全和高性能的特点,得益于其成熟的开发和广泛的应用实践,被广泛用于托管网站、搭建Web应用程序、构建Web服务和代理等场景。本专题为大家提供了Apache相关的各种文章、以及下载和课程,希望对各位有所帮助。

418

2023.08.23

apache启动失败
apache启动失败

Apache启动失败可能有多种原因。需要检查日志文件、检查配置文件等等。想了解更多apache启动的相关内容,可以阅读本专题下面的文章。

937

2024.01.16

Java 流式处理与 Apache Kafka 实战
Java 流式处理与 Apache Kafka 实战

本专题专注讲解 Java 在流式数据处理与消息队列系统中的应用,系统讲解 Apache Kafka 的基础概念、生产者与消费者模型、Kafka Streams 与 KSQL 流式处理框架、实时数据分析与监控,结合实际业务场景,帮助开发者构建 高吞吐量、低延迟的实时数据流管道,实现高效的数据流转与处理。

119

2026.02.04

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

483

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

448

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

3223

2024.03.12

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2773

2024.08.16

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

65

2026.02.28

Golang 工程化架构设计:可维护与可演进系统构建
Golang 工程化架构设计:可维护与可演进系统构建

Go语言工程化架构设计专注于构建高可维护性、可演进的企业级系统。本专题深入探讨Go项目的目录结构设计、模块划分、依赖管理等核心架构原则,涵盖微服务架构、领域驱动设计(DDD)在Go中的实践应用。通过实战案例解析接口抽象、错误处理、配置管理、日志监控等关键工程化技术,帮助开发者掌握构建稳定、可扩展Go应用的最佳实践方法。

57

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 12.8万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号