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

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

我正在尝试在 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>

当我跑步时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>

这些是当前文件的权限

-rw-r--r-- 1 alumno root 499 3 月 5 日 19:07 index1.html
-rw-r--r-- 1 alumno root 110 3 月 6 日 11:55 index2.html
-rw-r--r-- 1 alumno root 110 3 月 5 日 19:09 index3.html

我该如何修复这个错误?

答案1

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

文档根目录

相关内容