因此,当我使用此配置访问 ec2.guildwars2community.com 时,出现错误“禁止访问,您无权访问此服务器上的 /。”
NameVirtualHost *:80
<VirtualHost *:80>
ServerName ec2.guildwars2community.com
DocumentRoot /opt/bitnami/apps/gw2c/htdocs
Options Indexes MultiViews +FollowSymLinks
</VirtualHost>
但是,如果我只使用基于目录的设置(如下所示),它就可以正常工作。如果我去http://107.20.230.123/gw2c/
Alias /gw2c/ "/opt/bitnami/apps/gw2c/htdocs/"
Alias /gw2c "/opt/bitnami/apps/gw2c/htdocs"
<Directory "/opt/bitnami/apps/gw2c/htdocs">
Options Indexes MultiViews +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
答案1
错误日志肯定会告诉你,但我的第一感觉是你缺少Allow
允许访问文档根目录的必要指令。你没有明确说明<Directory>
在使用时第二个配置示例中的条目是否存在<VirtualHost>
,如果存在,它在哪里,但如果它缺失或位于错误的位置,那么将没有任何权限访问文件系统,因此你会得到你看到的错误。
答案2
将与第二个配置相同的块添加<Directory>
到第一个配置中,然后重试。例如:
<VirtualHost *:80>
ServerName ec2.guildwars2community.com
DocumentRoot /opt/bitnami/apps/gw2c/htdocs
ErrorLog ...
<Directory "/opt/bitnami/apps/gw2c/htdocs">
Options -Indexes MultiViews +FollowSymLinks
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
您应该删除AllowOverride All
指令或者仅删除您想要允许的内容。