XAMPP配置多端口实现Angular项目部署

大杰吖_5294

大杰吖_5294

2026-05-01

857人浏览

原创

angular项目部署到apache出现刷新404、路由失效等问题,根本原因是未配置html5 history模式的服务器回退机制:必须在httpd.conf中显式添加listen端口,在httpd-vhosts.conf中配置virtualhost并启用allowoverride all,再于directory内添加rewriterule将非静态资源请求重写至index.html。

xampp配置多端口实现angular项目部署

Angular项目直接丢进 htdocs 跑不起来,刷新 404、路由失效、静态资源 404 —— 不是 Angular 本身的问题,而是 Apache 默认没配好前端路由回退(fallback)和多端口隔离。必须改 httpd.conf 和 httpd-vhosts.conf,且顺序、权限、监听配置三者缺一不可。

Listen 指令必须显式添加多个端口

Apache 默认只监听 80,Angular 项目若想和本地其他服务(比如后端 API、另一个前端 demo)共存,就得开新端口,比如 8080、8081。但只改 httpd-vhosts.conf 不生效 —— 因为 Apache 根本不“听”这些端口。

打开 C:\XAMPP\apache\conf\httpd.conf,找到 Listen 80 这一行,在它下面**新增两行**:

Listen 8080
Listen 8081

注意:Listen 必须是全局指令,不能包在 <virtualhost></virtualhost> 里;也不能写成 Listen: 8080(冒号是错的);更不能只加 VirtualHost 却漏掉 Listen,否则启动 Apache 时会报 “address already in use” 或静默失败。

VirtualHost 配置要匹配端口并启用 DocumentRoot 权限

端口开了,还得告诉 Apache:这个端口该把请求交给哪个文件夹。编辑 C:\XAMPP\apache\conf\extra\httpd-vhosts.conf,在末尾追加:

<virtualhost>
    ServerName localhost
    DocumentRoot "C:/xampp/htdocs/my-angular-app"
    <directory>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </directory></virtualhost>

关键点:

XAMPP 8.0.30
XAMPP 8.0.30

XAMPP 8.0.30 是一款免费、开源的跨平台 Web 服务器集成包,专为快速搭建本地 PHP 开发环境而设计。该版本核心组件包括:Apache 2.4.56、MySQL 8.0.33、PHP 8.0.30、phpMyAdmin 5.2.1 等。它支持 Windows、Linux 和 macOS 系统,可让开发者在个人电脑上轻松模拟服务器环境,无需复杂配置即可运行 WordPress、Thin

下载
  • ServerName 写 localhost 就够用,不用配 hosts;如果想用 myapp.local,才需要改 C:\Windows\System32\drivers\etc\hosts
  • DocumentRoot 必须指向你 ng build 后的 dist/ 目录(例如 dist/my-angular-app),不是项目根目录
  • AllowOverride All 是为了让后续的重写规则(如 Angular 路由 fallback)生效;Require all granted 替代旧版的 Order Deny,Allow,否则 403 Forbidden

Angular 路由刷新 404?必须加 RewriteRule 回退

Angular 的 RouterModule 使用 HTML5 History 模式(默认),访问 /dashboard 时浏览器发的是真实 HTTP 请求,但服务器找不到这个路径,直接返回 404。解决方案是让 Apache 把所有非静态资源请求都转给 index.html。

在刚才那个 <directory></directory> 块内部,**紧贴 Require all granted 下方**插入:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]

注意:RewriteEngine On 必须开启;RewriteBase / 要和你的部署路径一致(如果你把 dist 放在 htdocs/myapp/ 下,这里就得写 RewriteBase /myapp/);!-f 和 !-d 是判断“不是文件也不是目录”,避免把 assets/logo.png 也重写过去。

重启 Apache 前务必检查三个地方

改完配置不重启=白改;重启失败大概率是这三处之一出问题:

  • httpd.conf 中 Include conf/extra/httpd-vhosts.conf 这行前面的 # 是否已删掉?没放开这行,httpd-vhosts.conf 根本不加载
  • 端口是否被占用?运行 netstat -ano | findstr :8080 看 PID,再用任务管理器查进程。IIS、Skype、甚至某些国产软件常抢 80 和 8080
  • 路径里的反斜杠 \ 是否全换成了正斜杠 /?Windows 下 Apache 对路径分隔符敏感,C:\xampp\htdocs 会解析失败,必须写 C:/xampp/htdocs

最易忽略的一点:Angular 构建时若用了 --base-href(比如 ng build --base-href /myapp/),那 RewriteBase 和 DocumentRoot 的层级必须严格对齐,否则 JS/CSS 路径 404 —— 这个细节比端口配置还容易翻车。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

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

下载

相关标签:

xampp

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

相关专题

更多
XAMPP用法详解
XAMPP用法详解

本专题整合了XAMPP相关用法介绍,阅读专题下面的文章了解更多详细内容。

2026.04.08

253

20

XAMPP 安装与快速入门指南
XAMPP 安装与快速入门指南

面向零基础用户,详细介绍 XAMPP 在 Windows、macOS、Linux 三大平台上的下载、安装步骤、首次启动配置、控制面板使用以及 Apache/MySQL 服务的基本启停操作,帮助初学者在最短时间内搭建起可用的本地开发环境。

2026.04.08

250

23

XAMPP Apache 与 MySQL 核心配置实战
XAMPP Apache 与 MySQL 核心配置实战

深入讲解 XAMPP 中 Apache 和 MySQL 的核心配置技巧,包括 httpd.conf 端口修改、虚拟主机(VirtualHost)多站点配置、MySQL 用户权限管理与远程连接设置、php.ini 关键参数调优,以及 SSL 证书的本地配置方法,适合有一定基础的开发者进阶使用。

2026.04.08

465

21

XAMPP 本地项目部署与调试全流程
XAMPP 本地项目部署与调试全流程

以 WordPress、Laravel、ThinkPHP 等主流 PHP 框架和 CMS 为例,演示如何在 XAMPP 环境中完成项目部署、本地域名绑定(hosts配置)、数据库导入、伪静态规则配置以及 Xdebug 断点调试的完整流程,让本地开发与线上环境无缝衔接。

2026.04.08

122

21

XAMPP 常见问题排查与故障解决
XAMPP 常见问题排查与故障解决

汇总 XAMPP 使用过程中最常遇到的故障场景及其解决方案,涵盖 80/443 端口被占用、Apache 或 MySQL 无法启动、phpMyAdmin 访问报错、文件权限不足、日志分析方法等问题,提供逐步排查思路与一键修复技巧,减少开发者的排错时间。

2026.04.08

410

22

XAMPP 安全加固与生产环境迁移
XAMPP 安全加固与生产环境迁移

聚焦 XAMPP 的安全实践与环境迁移,包括修改 MySQL 默认 root 密码、关闭目录列表浏览、限制 phpMyAdmin 外部访问、配置防火墙规则等安全加固措施,同时讲解如何将 XAMPP 本地开发完成的项目平滑迁移部署到 Linux 生产服务器。

2026.04.08

284

30

XAMPP 与 phpMyAdmin 数据库管理实操
XAMPP 与 phpMyAdmin 数据库管理实操

专注于 XAMPP 内置的 phpMyAdmin 数据库管理工具,系统讲解数据库和数据表的创建与设计、SQL 语句执行、CSV/SQL 格式数据的导入导出、定时备份与一键还原、多数据库批量管理等日常操作,帮助开发者高效管理本地 MySQL 数据。

2026.04.08

355

26

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

20

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

20

10

热门下载

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

精品课程

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