我有一个运行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。我不想要这种行为。我该如何解决这个问题?
答案 0 :(得分:1)
您需要启用基于名称的虚拟主机。在第一个虚拟主机之前添加以下行并重新启动apache。
NameVirtualHost :80