Apache2子域重定向到主域

时间:2016-04-20 14:50:03

标签: apache amazon-ec2

我有一个运行Ubuntu 14.04和Apache的EC2实例设置。我有一个弹性IP服务多个域和子域,所有域和子域都指向服务器上的各个文件夹。我遇到的问题是除非在我的.conf中明确设置子域,否则它将重定向到主域。我似乎无法在这里或谷歌找到明确的答案。

我有一个.conf文件驻留在/ etc / apache2 / sites-enabled /服务所有域和子域,如下所示:

<VirtualHost *:80>
    ServerAdmin me@mydomain.com
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /var/www/html/mydomain.com
    <Directory /var/www/html/mydomain.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
        ServerAdmin me@mydomain.com
        ServerName sub1.mydomian.com
        ServerAlias www.sub1.mydomain.com
        DocumentRoot /var/www/html/sub1.com
        <Directory /var/www/html/sub1.com>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

<VirtualHost *:80>
            ServerAdmin me@mydomain.com
            ServerName sub2.mydomian.com
            ServerAlias www.sub2.mydomain.com
            DocumentRoot /var/www/html/sub2.com
            <Directory /var/www/html/sub2.com>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride All
                    Order allow,deny
                    allow from all
            </Directory>
    </VirtualHost>

<VirtualHost *:80>
        ServerAdmin me@mydomain.com
        ServerName mydomain2.com
        ServerAlias www.mydomain2.com
        DocumentRoot /var/www/html/mydomain2.com
        <Directory /var/www/html/mydomain2.com>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
    </VirtualHost>

因此,如果我转到sub1.mydomain.com或sub2.mydomain.com,它会被正确路由。但是如果我输入我的.conf文件中不存在的sub3.mydomain.com,它会被重定向到mydomain.com。我不想要这种行为。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要启用基于名称的虚拟主机。在第一个虚拟主机之前添加以下行并重新启动apache。

NameVirtualHost :80