Apache 2.4忽略Vhost,反向按字母顺序排列

时间:2016-02-24 17:22:46

标签: apache

我目前正在使用CentOS 7(https://aws.amazon.com/marketplace/pp/B00O7WM7QW),并将其设置为MariaDB 5.5.44,PHP 5.6.18和Apache 2.4.6的LAMP服务器。我在/ var / www中为两个不同的站点创建了两个目录。第一个(domain.com)是/ var / www / domain / public_html,第二个(example.com)是/ var / www / example / public_html。在为每个数据库设置数据库,设置DNS以及上传站点文件之后,我对它们进行了测试。

导航到domain.com按预期工作。页面已加载,我可以转到页面上的其他链接就好了。但是,当我访问example.com时,它从domain.com加载了站点文件。

我关闭SELinux,重新启动,然后确保运行chown -R apache:apache / var / www和chmod -r 755 / var / www(我后来将所有目录更改为755,文件更改为644)。我重新启动了apache并再次访问每个域,结果相同。一个工作正常,另一个重定向。

我将confH /中的.conf文件中的VirtualHost块移出,并将它们粘贴到httpd.conf的底部。重启apache,再次测试。仍然没有运气。

然后,有人建议我尝试更改VirtualHost块的顺序。好的,我没有想法,我会尝试一下。现在,在httpd.conf的底部,我有example.com,然后是domain.com。重启apache,再次测试。这次它适用于两个站点。

真实域名按字母顺序排列,因此按反向字母顺序排列。我确实找到了一些关于Apache如何按字母顺序读取vhosts的.conf文件的内容,但没有关于VirtualHost块ServerName的内容。这里发生了什么?

此作品

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
#IncludeOptional sites-enabled/*.conf
<VirtualHost *:80>
    ServerName zzzdomain.com
    DocumentRoot /var/www/zzzdomain/public_html
    <Directory  "/var/www/zzzdomain/public_html">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerName aaadomain.com
    DocumentRoot /var/www/aaadomain/public_html
    <Directory  "/var/www/aaadomain/public_html">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

这不起作用

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
#IncludeOptional sites-enabled/*.conf
<VirtualHost *:80>
    ServerName aaadomain.com
    DocumentRoot /var/www/aaadomain/public_html
    <Directory  "/var/www/aaadomain/public_html">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerName zzzdomain.com
    DocumentRoot /var/www/zzzdomain/public_html
    <Directory  "/var/www/zzzdomain/public_html">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

0 个答案:

没有答案