我正在尝试在 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。
| 归档时间: |
|
| 查看次数: |
787 次 |
| 最近记录: |