apache2 站点启用顺序,指定子域/域配置

apache2 站点启用顺序,指定子域/域配置

我将首先描述我想要实现的目标。

首先我有一个主域名xxx.pl,一个域名有 4 个子域名000.xxx.pl111.xxx.pl222.xxx.pl333.xxx.pl。我还有另一个域名yyy.pl拥有自己的子域名(大部分相同)。当然会有更多的域名,但这不是重点。

现在我需要的是任何没有为 http 设置虚拟主机的域,都将指向/var/www/pl.xxx与 https 相同。(因此它是默认站点),现在我已将其设置为(与 https 类似):

站点已启用/999-默认

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/vhosts/pl.xxx
    <Directory /var/www/vhosts/pl.xxx>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

所以据我所知,这个文件将被最后加载,所以如果没有更精确的答案,apache 将转到那里。

然后有主域的文件(HTTP 和 HTTPS 除了密钥等之外是相同的),它将在默认站点配置之前加载。

站点已启用/998-pl.xxx

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName xxx.pl
    ServerAlias *.xxx.pl
    DocumentRoot /var/www/vhosts/pl.xxx
    <Directory /var/www/vhosts/pl.xxx>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

现在我需要指定 2 个域(仅在 https 上),在 http 上它们应该使用站点已启用/998-pl.xxx配置。

站点已启用/997-pl.xxx.000

服务器管理员[电子邮件保护]

    ServerName 000.xxx.pl
    ServerAlias 000.xxx.pl

    DocumentRoot /var/www/vhosts/pl.xxx.000

    <Directory /var/www/vhosts/pl.xxx.000>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

除了其他域名之外,其他一切都很好yyy.pl在 https 上使用与000.xxx.pl地址。我需要它只限制000.xxx.pl使用此地址。并非所有其他未分配的域。

所以https://yyy.pl|https://000.yyy.pl等应该使用默认 SSL设置而不是000.xxx.pl设置。

请帮助我了解发生了什么。也许我误解了 apache 配置用法。

编辑:

通常,问题得到部分解决,因为它有效。但是关于子域配置的依赖关系 /etc/hosts 条目有一个有趣的事情。

答案1

站点已启用/999-默认

[...]

所以据我所知,这个文件将被最后加载,所以如果没有更精确的答案,apache 将转到那里。

反过来也一样。因此,显示为默认的网站应该是第一的Apache 必须解析。我会将其命名为 000-default 或任何其他名称,这样其他。

相关内容