我在 IP 地址为 888.888.888.888 的服务器上设置了一个 Linux 虚拟主机,其中
URL site1.mysite.com 的文档根目录是 /var/www/content1,而 URL site2.mysite.com 的文档根目录是 /var/www/content2。
以下指令有效,但是如果用户输入 888.888.888.888,我想将用户定向到 /var/www/content2。我不确定如何做到这一点。
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
ServerName site1.mysite.com
DocumentRoot /var/www/content1
ServerAlias www.site1.mysite.com
</VirtualHost>
<VirtualHost *:80>
ServerName site2.mysite.com
DocumentRoot /var/www/content2
ServerAlias www.site2.mysite.com
</VirtualHost>
答案1
在基于名称的虚拟主机系统中,如果host
未提供标头,或者提供了主机标头但主机与或不匹配,ServerName
则ServerAlias
提供默认虚拟主机的内容。默认虚拟主机是配置中定义的第一个虚拟主机。
在您的特定情况下,这是site1.example.com
。您可以通过在 site1 之前定义它来将 的内容site2.example.com
作为默认内容。您还可以将*
catchall 添加到 site2 的 ServerAlias。在该配置中,您必须确保最后配置 site2。