Rog*_* 71 8 web-server apache-2.4 apache2
我正在运行 Apache/2.4.29 (Ubuntu)。
我只有一个域名。
我想将不同的站点映射到域名后的不同路径。
例如:
mydomain.com/test001映射到/var/www/test001/public
mydomain.com/test002映射到/var/www/test002/public
我已经尝试了许多不同的虚拟主机配置,但没有一个起作用。
谁能告诉我虚拟主机的正确语法吗?
编辑
我已经根据@JoeSlav给出的答案更改了我的配置,
现在这是我的虚拟主机配置
<VirtualHost *:80>
ServerName test06.com
ServerAlias www.test06.com
DocumentRoot /var/www/test06/public
Alias /test03/ /var/www/test03/public
Alias /test04/ /var/www/test04/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当我请求http://test06.com/test03/时,我得到目录列表页面。我可以在列表中看到我的索引页,但如果尝试单击它(或者在浏览器上写下完整路径),我会收到以下消息:
“未找到”
“未找到请求的 URL /test03/index.html该服务器”
一些附加信息:
-/var/www/test06/public/index.html如果我询问 test06.com,浏览器会正确显示;
- 我通过主机文件将 test06.com 映射到我的服务器 IP。
JoeSlav 给出的答案几乎是正确的。
子路径参数后面不能有尾部斜杠。
这是工作配置:
<VirtualHost *:80>
ServerName test06.com
ServerAlias www.test06.com
DocumentRoot /var/www/test06/public
Alias /test03 /var/www/test03/public
Alias /test04 /var/www/test04/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9441 次 |
| 最近记录: |