我想在 CentOS 6 上使用 Apache 2.4 启用目录索引。首先我进行了编辑httpd.conf
,但没有成功,所以我最终将.htaccess
文件放在所需的文件夹中,希望没有设置可以覆盖.htaccess
指令。但它也没有用,当我请求目录时,我得到了 403。
这是我迄今为止尝试过的:
通过将垃圾放入其中来检查
.htaccess
文件是否正常工作把这些行放入
httpd.conf
:<Directory "/var/www/path/to/folder"> AllowOverride All </Directory>
写下这些行
.htaccess
:DirectoryIndex disabled Require all granted Allow from all Options +Indexes
检查是否
mod_autoindex
已启用Ran
apache2ctl configtest
-> 语法正确将文件和目录所有权和组更改为 apache,
.htaccess
权限更改为 666
但什么都不起作用,我只得到了花哨的“测试 123..”Apache/CentOS 错误页面......
在 Michael Hamptons 评论之后我添加了以下步骤:
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>
答案发现于堆栈溢出