Apache 提供三种路径映射方式:1. Alias 指令直接挂载物理目录到 URL 路径,需配合 Directory 权限配置并重启服务;2. VirtualHost 绑定独立域名,完全隔离环境,需启用模块、配置 vhost 并修改 hosts;3. .htaccess + mod_rewrite 实现轻量路由,适用于共享主机,需开启 AllowOverride 和重写模块。

用 Apache 的 Alias 指令映射路径
这是最直接、兼容性最好的方式,适合把服务器上任意物理目录挂载到网站 URL 下的某个路径。操作在 Apache 主配置文件(httpd.conf)或虚拟主机配置块中进行:
- 添加一行 Alias 指令,格式为:
Alias /vdir /var/www/myapp,其中/vdir是浏览器访问时的 URL 路径,/var/www/myapp是服务器上的真实绝对路径 - 紧接着定义该路径的访问权限,用
<directory></directory>包裹配置块,里面至少包含:Options Indexes FollowSymLinksAllowOverride AllRequire all granted - 保存后必须重启 Apache(如
sudo systemctl restart apache2),配置才生效
通过虚拟主机绑定独立域名或子目录
当需要完全隔离的运行环境(比如不同项目用不同域名),推荐用 VirtualHost 方式。它不依赖主站根目录,DocumentRoot 直接指向目标目录:
- 在配置中启用
vhost_alias_module(取消#LoadModule vhost_alias_module前的注释) - 新增一个
<virtualhost></virtualhost>块,设置ServerName myapp.local和DocumentRoot "/var/www/myapp" - 若需本地测试,还需在系统
/etc/hosts(Linux/macOS)或C:\Windows\System32\drivers\etc\hosts(Windows)中添加一行:127.0.0.1 myapp.local - 重启 Apache 后,访问
http://myapp.local即进入指定目录
借助 .htaccess + mod_rewrite 实现轻量路由
适用于无法修改服务器主配置的共享主机环境,或想对某子路径做动态转发。前提是已启用 mod_rewrite 且允许 .htaccess 覆盖:
- 在网站根目录或目标上级目录放置
.htaccess文件 - 写入规则,例如将
/api/*请求重写到实际目录:RewriteEngine OnRewriteRule ^api/(.*)$ /var/www/api/$1 [L] - 注意:这种写法是内部重写,URL 地址栏不变;若需外部跳转,加
R标志(如[R=301,L]) - Apache 默认不读取 .htaccess,需确保对应目录的
AllowOverride设置为All或至少FileInfo



















