我对 Web 服务器的工作原理只有非常基本的了解。我希望了解如何设置三级域名 test1.mysite.tld,使其指向 Web 服务器子目录 /var/www/test1/。(www.mysite.tld 应保持指向主目录)。我在一台装有 Debian 的机器上。我在 apache2.conf 中定义了一个虚拟主机
<VirtualHost *>
ServerName test1.mysite.tld
DocumentRoot /var/www/test1/
LogLevel debug
ErrorLog other_vhosts_access.log
</VirtualHost>
但是,当我尝试 url test1.mysite.tld 时,返回的是 /var/www/index.html,而不是 /var/www/test1/index.html。
我是不是漏掉了什么?重写规则?我需要对 DNS 做些什么吗?谢谢你的帮助
答案1
您需要配置基于名称的虚拟主机。首先要做的是配置 DNS,以便 test1.mysite.tld 解析为您服务器的 IP 地址。具体操作取决于 DNS 服务的提供方式。
基本的 Apache 配置如下
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.mysite.tld
Serveralias mysite.tld
DocumentRoot /var/www/mysite.tld
...
</VirtualHost>
<VirtualHost *:80>
ServerName test1.mysite.tld
DocumentRoot /var/www/test1/
LogLevel debug
ErrorLog other_vhosts_access.log
</VirtualHost>