警告:DocumentRoot 不存在...但它确实存在

Nic*_*zza 5 apache2

我正在尝试在 Ubuntu 20.04 中使用 Apache 托管 3 个站点,但是当我尝试连接到它们时,我得到

未找到。在此服务器上找不到请求的 URL。

这是我的虚拟主机文件

<VirtualHost *:80>
        ServerName nico1.com
        Redirect permanent / https://nico1.com
</VirtualHost>

<VirtualHost *:443>
        ServerName nico1.com
        DocumentRoot /var/www/index1.html
        <Directory /var/www/index1.html>
                AllowOverride All
        </Directory>

        SSLEngine on
        SSLCertificateFile /etc/ssl/private/nico1.crt
        SSLCertificateKeyFile /etc/ssl/private/nico1.key
</VirtualHost>

<VirtualHost *:80>
        ServerName nico2.com
        Redirect permanent / https://nico2.com
</VirtualHost>

<VirtualHost *:443>
        ServerName nico2.com
        DocumentRoot /var/www/index2.html
        <Directory /var/www/>
                AllowOverride All
        </Directory>

        SSLEngine on
        SSLCertificateFile /etc/ssl/private/nico2.crt
        SSLCertificateKeyFile /etc/ssl/private/nico2.key
</VirtualHost>

<VirtualHost *:80>
        ServerName nico3.com
        Redirect permanent / https://nico3.com
</VirtualHost>

<VirtualHost *:443>
        ServerName nico3.com
        DocumentRoot /var/www/index3.html
        <Directory /var/www/>
                AllowOverride All
        </Directory>

        SSLEngine on
        SSLCertificateFile /etc/ssl/private/nico3.crt
        SSLCertificateKeyFile /etc/ssl/private/nico3.key
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

当我跑步时,systemctl status apache2我得到

警告:DocumentRoot [/var/www/index1.html] 不存在
警告:DocumentRoot [/var/www/index2.html] 不存在
警告:DocumentRoot [/var/www/index3.html] 不存在

这显然是这里的错误,但我不知道如何解决。我已经尝试过更改权限并使 www-data 过去成为文件的所有者,并且我还在 /etc/apache2/apache2.conf 中的此指令中设置了 /var/www/

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

这些是当前文件的权限

-rw-r--r-- 1 校友根 499 Mar 5 19:07 index1.html
-rw-r--r-- 1 校友根 110 Mar 6 11:55 index2.html
-rw-r--r- - 1 校友根 110 Mar 5 19:09 index3.html

我该如何解决这个错误?

小智 16

你做错了。DocumentRoot虚拟主机的参数必须是目录,而不是文件!创建 3 个子目录 nico1、nico2、nico3,然后将正确的索引移到里面(您可能应该将其从 index?.html 重命名为 index.html)

请参阅DocumentRoot