如何用apache组织两个虚拟主机?

如何用apache组织两个虚拟主机?

我在一台服务器上托管了两个域名。我在/etc/httpd/conf.d:first.conf和中创建了两个文件second.conf。每个文件都有相同的内容:

NameVirtualHost *
<VirtualHost *>
    ServerName first.example.com
    DocumentRoot /home/me/first
</VirtualHost>

完成后我遇到了冲突。只有第二个文件有效。所有请求都转到/home/me/second。无论我使用哪个域。如何解决?我做错了什么?

附言:对我来说,拥有多个单独的文件非常重要,每个域名一个。我应该能够轻松删除其中任何一个,而不会影响其他文件。我不想触碰默认的 apache 配置。我认为不用 也可以做同样的事情VirtualHost,但需要其他一些指令。我只是记不住它的名字。:(

答案1

将 namevirtualhost 放入另一个配置文件中,如 apache(2).conf 或 httpd.conf(取决于您的发行版)。在 debian/ubuntu 上,正确的位置应该是 apache2.conf 的末尾。

在整个配置中,您只需要一次 nameVirtualHost。

答案2

尝试NameVirtualHost在second.conf中删除

答案3

将 nameVirutual host 移出站点配置文件。它属于服务器配置(apache.conf 或 http.conf)。

只是提醒您。第一个站点将接收虚拟主机未涵盖的任何请求。这是您的默认服务器。您可能需要配置一个额外的站点来处理这种情况。

答案4

您如何通过主机名访问服务器?

此外,您的文件显示first.example.com,我假设第二个文件有second.example.com。你能发布第二个文件的完整内容吗?

相关内容