【问题标题】:Apache vhost directory never usedApache vhost 目录从未使用过
【发布时间】:2019-04-17 05:40:38
【问题描述】:

我在 Debian 9 上设置了一个新服务器,但这次我遇到了虚拟主机问题。

基本上,虚拟主机永远不会到达它们的 DocumentRoot,而是回退到默认的 DocumentRoot (/var/www/html)。由于这通常是找到正确配置的简单问题,所以这次我没有让它发挥作用。

为了解决这个问题,我将 conf 文件缩减到了最低限度。让我们以 2 个 vhosts conf 为例:

<VirtualHost 127.0.0.1:80>
    ServerName www.site1.com
    ServerAlias www.site1.com
    ServerAdmin contact@test.com

    DocumentRoot /var/www/site1
</VirtualHost>

<VirtualHost 127.0.0.1:80>
    ServerName www.site2.com
    ServerAlias www.site2.com
    ServerAdmin contact@test.com

    DocumentRoot /var/www/site2
</VirtualHost>

在这种情况下,在www.site1.comwww.site2.com 上继续前进将落入/var/www/html 上的默认页面。

如果我将120.0.0.1:80 之一更改为*:80,它会立即设置为工作虚拟主机。但如果我将两者都设置为*:80,它将落在列表的第一位。

如果我有这个意思:

<VirtualHost 127.0.0.1:80>
    ServerName www.site1.com
    ServerAlias www.site1.com
    ServerAdmin contact@test.com

    DocumentRoot /var/www/site1
</VirtualHost>

<VirtualHost *:80>
    ServerName www.site2.com
    ServerAlias www.site2.com
    ServerAdmin contact@test.com

    DocumentRoot /var/www/site2
</VirtualHost>

www.site1.comwww.site2.com 将导致 /var/www/site2。反之亦然。

但如果我这样做:

<VirtualHost *:80>
    ServerName www.site1.com
    ServerAlias www.site1.com
    ServerAdmin contact@test.com

    DocumentRoot /var/www/site1
</VirtualHost>

<VirtualHost *:80>
    ServerName www.site2.com
    ServerAlias www.site2.com
    ServerAdmin contact@test.com

    DocumentRoot /var/www/site2
</VirtualHost>

然后www.site1.comwww.site2.com 将落在www.site1.com

我三次检查了我的apache.confports.conf。全新安装后,它们都处于默认设置。

已尝试并检查了“已解决”类似帖子的所有常见答案: apachectl -t 返回 Syntax OK。 所有 conf 文件都以.conf 结尾。 chmod 已设置为各种尝试,包括 755、775 和 777。 匹配的用户也在目录上设置。 我试图 sudo 一切,重新启动,重新加载等。 我确实重新启动了服务器。 我已将日志设置为调试,但我找不到其中的所有错误(虽然我不确定要查找什么)。

以防万一,这是我的/etc/hosts

127.0.0.1   localhost
127.0.1.1   sd-*****.dedibox.fr sd-****
# The following lines are desirable for IPv6 capable hosts

::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

和主机名:

sd-*****

我真的不知道现在发生了什么。感谢您的任何提示。

【问题讨论】:

    标签: debian apache2 virtualhost


    【解决方案1】:

    好的,由于一些奇怪的原因,我设法让它与第二个方案一起使用,将每个 vhost 设置为 *:80

    虽然它有效,但我不知道为什么这次我的常规设置不起作用,也不知道我做了什么让它起作用……

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 2015-07-21
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 2017-03-09
      • 2017-07-26
      • 2017-04-01
      • 2014-10-18
      相关资源
      最近更新 更多