我在 debian7 上将 apache 服务器从 2.2.x 版更新到 2.4.10,但在使用多虚拟主机时出现了问题。当我尝试加载页面时,出现了禁止 [403] 错误。如果我只启用一个别名,页面可以正常工作,但当我尝试启用另一个页面时,我收到了 403 错误。我在所有配置中添加了 Require all granting。
我做错了什么?
别名 1 的代码:
<VirtualHost example.com:3099>
DocumentRoot /home/ftp/example.com
alias alias1 /home/ftp/example.com/alias1/>
<Directory /home/ftp/example.com/alias1/>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
别名 2 的代码:
<VirtualHost example.com:3099>
DocumentRoot /home/ftp/example.com
alias alias2 /home/ftp/example.com/alias2/>
<Directory /home/ftp/example.com/alias1/>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
更新 1 在 /etc/apache2/apache2.conf 中我有
<Directory />
Options FollowSymLinks
AllowOverride none
Require all denied
</Directory>
如果我将拒绝改为授予,错误 403 就会消失,但我可以访问 /home/ftp/example.com 中的所有子目录,即使它们没有虚拟主机别名。