讲师中心 微信公众号
AI工具推荐 视频效率加速

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

大杰吖_5294

大杰吖_5294

发布时间:2026-05-01 17:49:00

|

857人浏览过

|

来源于php中文网

原创

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> 里;也不能写成 Listen: 8080(冒号是错的);更不能只加 VirtualHost 却漏掉 Listen,否则启动 Apache 时会报 “address already in use” 或静默失败。

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

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

<VirtualHost *:8080>
    ServerName localhost
    DocumentRoot "C:/xampp/htdocs/my-angular-app"
    <Directory "C:/xampp/htdocs/my-angular-app">
        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> 块内部,**紧贴 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 —— 这个细节比端口配置还容易翻车。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

相关专题

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

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

253

2026.04.08

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

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

230

2026.04.08

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

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

465

2026.04.08

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

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

122

2026.04.08

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

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

390

2026.04.08

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

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

284

2026.04.08

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

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

355

2026.04.08

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

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

0

2026.10.22

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

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

0

2026.10.22

热门下载

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

精品课程

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn