XAMPP配置虚拟目录、多站点和共用目录需三步:一是用Alias+Directory在httpd-xampp.conf中映射路径;二是启用httpd-vhosts.conf并为各项目设独立VirtualHost块,配合hosts绑定域名;三是多域名共用目录时须用ServerAlias而非多个VirtualHost块,并在hosts中逐条映射。

要在本地快速访问多个不同路径的项目,又不想把所有文件都塞进htdocs目录,就得用XAMPP配置虚拟目录、别名映射和多项目访问——这三步做完,localhost后加任意自定义路径或域名就能直通对应文件夹,无需反复挪动代码。
配置Apache别名映射(/xxx直接访问指定文件夹)
打开 XAMPP安装目录pacheconfextrahttpd-xampp.conf 文件,在文件末尾 <IfModule alias_module> 标签内添加一行:
Alias /myapp "D:/projects/myapp"
紧接着在同一位置、</IfModule> 之前插入完整权限配置块:
<Directory "D:/projects/myapp"><br>Options Indexes FollowSymLinks<br>AllowOverride All<br>Require all granted<br></Directory>
注意:路径中必须使用正斜杠 / 或双反斜杠 \,单反斜杠 会被Apache当作转义符解析,导致 403 或 500 错误;【DocumentRoot不能指向项目根目录,必须精确到可执行入口所在子目录,如Yii2必须是/web】。
保存文件,重启Apache服务。浏览器访问 http://localhost/myapp 即可加载该目录内容。
启用并配置多站点虚拟主机(用域名区分项目)
第一步:确认虚拟主机模块已启用。打开 XAMPP安装目录pacheconfhttpd.conf,找到这一行:
#Include conf/extra/httpd-vhosts.conf
删掉开头的 # 号,保存。
第二步:编辑 XAMPP安装目录pacheconfextrahttpd-vhosts.conf,在文件末尾添加两个独立的 <VirtualHost *:80> 块:
<VirtualHost *:80><br>DocumentRoot "D:/projects/site-a"<br>ServerName site-a.local<br><Directory "D:/projects/site-a"><br>Require all granted<br>AllowOverride All<br></Directory><br></VirtualHost>
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
<VirtualHost *:80><br>DocumentRoot "D:/projects/site-b"<br>ServerName site-b.local<br><Directory "D:/projects/site-b"><br>Require all granted<br>AllowOverride All<br></Directory><br></VirtualHost>
第三步:绑定域名到本地IP。用管理员权限打开 C:WindowsSystem32driversetchosts,在末尾新增两行:
127.0.0.1 site-a.local<br>127.0.0.1 site-b.local
保存hosts文件(若提示无权限,先复制到桌面修改再覆盖回原位置)。重启Apache,浏览器分别访问 http://site-a.local 和 http://site-b.local 即可进入对应项目。
让多个域名共用同一目录(ServerAlias统一管理)
方法一:单个VirtualHost块 + ServerAlias
在 httpd-vhosts.conf 中写一个块,把主域名和别名全列进去:
<VirtualHost *:80><br>DocumentRoot "D:/projects/shared"<br>ServerName dev.local<br>ServerAlias test.local demo.local<br><Directory "D:/projects/shared"><br>Require all granted<br>AllowOverride All<br></Directory><br></VirtualHost>
方法二:hosts文件必须逐条映射
打开 C:WindowsSystem32driversetchosts,添加三行:
127.0.0.1 dev.local<br>127.0.0.1 test.local<br>127.0.0.1 demo.local
Windows hosts 不支持通配符,【ServerAlias里写的每个域名都必须在hosts中显式声明,否则无法解析】。保存后重启Apache即可生效。

















