XAMPP修改Listen 80为8080后访问HTML文件报404错误如何解决
问题描述
需要运行一个简单的HTML登录页面,文件代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="Untitled.css"> <title>Connexion</title> </head> <body> <div class="container"> <form action="" method="post" class="c"> <p class="l-text">login</p> <div class="i"> <input type="text" placeholder="username" name="username" required> </div> <div class="i"> <input type="password" placeholder="password" name="pass" required> </div> </form> </div> </body> </html>
- 文件存放路径:C:\xampp\htdocs\chou
- 故障表现:
- 访问页面时返回报错:
Not Found The requested URL was not found on this server. - Apache服务启动阶段即存在异常
- 对应报错截图:
- 访问页面时返回报错:
- 已尝试操作:已将Apache配置中默认的
Listen 80修改为Listen 8080,尝试过多种公开解决方案均未解决问题。
排查处理步骤
按以下顺序逐一排查,不要跳步:
- 先确认Apache实际运行状态:打开XAMPP控制面板,查看Apache条目旁的Running标识是否为绿色。如果未正常启动,直接点击Apache栏的
Logs按钮打开错误日志,根据日志里的明确报错定位问题,不要盲目修改端口——除了80端口被占用,配置语法错误、目录权限异常、依赖服务缺失都会导致Apache启动失败。 - 核对访问地址格式:你已经将监听端口改为8080,访问时必须在地址后带上端口号。如果你的HTML文件名为
login.html,正确访问地址为http://localhost:8080/chou/login.html;如果文件名为index.html,可直接访问http://localhost:8080/chou/。漏写端口、漏写完整文件名都会直接触发404报错。 - 校验Apache根目录配置:点击XAMPP控制面板Apache栏的
Config按钮,选择httpd.conf打开配置文件,搜索DocumentRoot字段,确认配置值为"C:/xampp/htdocs",同时核对下方紧随的<Directory "C:/xampp/htdocs">路径配置完全一致。如果这两个路径被修改为其他目录,存放在htdocs下的文件自然无法被定位。 - 验证配置文件语法正确性:每次修改httpd.conf后不要直接重启服务,进入XAMPP安装目录下的
apache\bin文件夹,在文件夹地址栏输入cmd回车打开命令行,执行httpd.exe -t,返回Syntax OK才代表配置无语法错误,若有报错命令行会直接提示错误所在行号,修正后再启动服务。 - 检查文件实际属性:打开Windows文件管理器的「显示文件扩展名」开关,确认chou目录下的HTML文件后缀确实为
.html,而非隐藏扩展名后的.html.txt,这类命名错误会导致服务端无法识别目标文件。 - 核对目录权限:右键点击
C:\xampp\htdocs\chou文件夹,打开「属性-安全」选项卡,确认当前系统用户对该目录拥有读取、执行权限,不要将目录设为只读、或存放在加密私人目录中。
内容的提问来源于stack exchange,提问作者wail
相关产品推荐
相关产品推荐



