虚拟主机不工作 Ubuntu 两个站点都指向同一个根 14 LTS 和 apache 2.4.7

虚拟主机不工作 Ubuntu 两个站点都指向同一个根 14 LTS 和 apache 2.4.7

我有两个站点,它们都位于 /var/www/ 目录中。

一个在……

/var/www/doamin1.com/public_html

另一个在......

/var/www/doamin2.com/public_html

目录被分配给 www-data:www-data 用户和组。

我已经设置了conf文件,它们是

doamin1.com.conf

doamin2.com.conf

它们看起来像这样...

<VirtualHost *:80>

        <Directory /var/www/domain1.com/public_html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ServerName wildcard.domain1.com
        ServerAlias *.domain1.com
        ServerAdmin [email protected]

        DocumentRoot /var/www/domain1.com/public_html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

#vim: syntax=apache ts=4 sw=4 sts=4 sr noet

<VirtualHost *:80>

        <Directory /var/www/domain2.com/public_html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ServerName wildcard.domain2.com
        ServerAlias *.domain2.com
        ServerAdmin [email protected]

        DocumentRoot /var/www/domain2.com/public_html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

#vim: syntax=apache ts=4 sw=4 sts=4 sr noet

将域名添加到主机文件/etc/hosts

a2dissite 000-default.conf

a2ensite domain1.com.conf
a2ensite domain2.com.conf

service apache2 reload

service apache2 restart

并且两个域仍然指向同一个域,我甚至重新启动了服务器并删除了通配符设置......

ServerName domain1.com
ServerAlias domain1.com

ServerName domain2.com
ServerAlias domain2.com

并且它们无法正确定向。两个域名都归自己所有,DNS 也指向正确的位置。我所做的一切仍然导致它们都重定向到同一个目录。

我在 sites-enabled 中提供了配置文件链接,每个站点都有 conf 文件,但仍然不起作用。我迷路了。

我在这里遗漏了什么?

答案1

我发现对于每个虚拟主机配置...

/etc/apache2/sites-availiable/doamin1.com.conf

/etc/apache2/sites-availiable/doamin2.com.conf

<VirtualHost *:80>

*//configriation*

</VirtualHost>

我将 /etc/apache2/sites-availiable/doamin1.com.conf 更改为如下形式

<VirtualHost domain1.com:80>

*//configriation*

</VirtualHost>

并且 /etc/apache2/sites-availiable/doamin2.com.conf 看起来像这样...

<VirtualHost domain2.com:80>

*//configriation*

</VirtualHost>

我认为这是因为两个文件都在块的开头行中查找 *:80 指令。这导致服务器恢复到第一个 conf 文件并使用该虚拟主机块中的“DocumentRoot”。

相关内容