如果直接浏览 IP,apache2 上的默认 VHOST 不起作用

如果直接浏览 IP,apache2 上的默认 VHOST 不起作用

我对 Ubuntu 18.04 上的 Apache2 感到很困惑。

我有几个指向 Vhosts 的域名,它们似乎可以工作,但由于某些原因,当直接浏览 IP 时,如果只是转发到其中一个 vhost,而不是 /var/www/html 目录的根目录。这是怎么回事?这在 Centos 上有效,但在 Ubuntu 上无效。

    <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html

            <Directory /var/www/html/>
                Options Indexes FollowSymLinks
                AllowOverride All
                Require all granted
            </Directory>

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

            <IfModule mod_dir.c>
                DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
            </IfModule>
</VirtualHost>

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName domain.com
        ServerAlias domain.com
        DocumentRoot /var/www/html/domain.com/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

答案1

您在启用的站点中是否有 000-default.conf ?如果没有,也许可以创建它并将第一个虚拟移入其中:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        <Directory /var/www/html/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

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

        <IfModule mod_dir.c>
            DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
        </IfModule>

现在为每个其他虚拟域创建一个 .conf,其中包含 10-this-domain 和 20-that-domain 等升序文件

在你的 apache2.conf 中你应该有这一行

IncludeOptional sites-enabled/*.conf

目录 sites-enabled 保存虚拟机的所有主机文件

在我的 Ubuntu 上开箱即用,我只需将新主机放入启用站点的

相关内容