这个 apache 配置有什么问题

这个 apache 配置有什么问题

因此,当我使用此配置访问 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指令或者仅删除您想要允许的内容。

相关内容