.htaccess 自动索引不起作用,403 错误

.htaccess 自动索引不起作用,403 错误

我想在 CentOS 6 上使用 Apache 2.4 启用目录索引。首先我进行了编辑httpd.conf,但没有成功,所以我最终将.htaccess文件放在所需的文件夹中,希望没有设置可以覆盖.htaccess指令。但它也没有用,当我请求目录时,我得到了 403。

这是我迄今为止尝试过的:

  1. 通过将垃圾放入其中来检查.htaccess文件是否正常工作

  2. 把这些行放入httpd.conf

    <Directory "/var/www/path/to/folder">
        AllowOverride All
    </Directory>
    
  3. 写下这些行.htaccess

    DirectoryIndex disabled
    Require all granted
    Allow from all
    Options +Indexes
    
  4. 检查是否mod_autoindex已启用

  5. Ran apache2ctl configtest-> 语法正确

  6. 将文件和目录所有权和组更改为 apache,.htaccess权限更改为 666

但什么都不起作用,我只得到了花哨的“测试 123..”Apache/CentOS 错误页面......

在 Michael Hamptons 评论之后我添加了以下步骤:

  1. httpd.conf将错误级别设置为“调试”

    -> error_log 中没有记录任何内容

    -> access_log 仅记录:

    "GET / HTTP/1.1" 403 4897 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
    AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
    

    ...随后是错误页面的 4 个字体请求,在我看来,这好像是我在查找错误的文件,或者错误级别设置不起作用?

答案1

我发现有一个名为的文件/etc/httpd/conf.d/welcome.conf,其中有一条指令可以覆盖 .htaccess 文件中的指令:

通过注释掉这一行我解决了我的问题:

<LocationMatch "^/+$">
    #Options -Indexes
    ErrorDocument 403 /.noindex.html
</LocationMatch> 

答案发现于堆栈溢出

相关内容