允许子目录与 Apache

Dan*_*nny 9 directory apache-2.2

我觉得这是一个相当简单的修复,并且在搜索时看到了类似的问题,但无法使用这些解决方案修复它。基本上问题是我无法访问我的网络服务器上的任何子目录。转到 localhost 会很好地显示索引。但是转到 localhost/test 会出现 403 Forbidden 错误。

我正在运行 CentOS。我尝试通过多种方式编辑 /etc/httpd/conf/httpd.conf 文件,但没有成功。DocumentRoot 位于 /var/www/html。目前我有:

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

我试过添加以下内容:

<Directory "/var/www/html/test">
    Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

但它仍然给我 403 禁止错误。

sym*_*ean 8

您不需要特别允许访问已经在 httpd.conf 中配置的目录下的目录

由于 /var/www/html 配置为“AllowOverride None”,因此问题不是由于 .htaccess 文件更改了访问权限。

剩下的唯一原因是文件和目录的权限不允许网络服务器 uid 从此目录中读取。它们是什么以及它们应该是什么取决于您的安全模型。但作为快速修复,您可以尝试:

# chmod a+rx /var/www/html/test
# chmod a+r /var/www/html/*
Run Code Online (Sandbox Code Playgroud)

如果这解决了问题,那么请花时间将文件的所有权和权限修复为更合适的内容。