我正在/ srv / www中为yum,scripts和kickstart文件设置一个存储库,通过httpd提供。我想要一个自动索引,所以我没有任何index.html。而且,这是内部服务器唯一能做的事情。那么,httpd.conf:
DocumentRoot "/srv/www"
<Directory "/srv/www">
AllowOverride all
Options Indexes FollowSymLinks
Require all granted
</Directory>
但是,我仍然收到错误消息:
[autoindex:error] [pid 12345] [client <IP address>:<port>] AH01276: Cannot serve directory /srv/www: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive.
除了Options
指令允许自动索引!我试过了Options All
。我试过了Options +Indexes +FollowSymLinks
。我看了7或8次Google点击。没有什么工作。
设置LogLevel debug
不会增加消息传递。
我错过了什么?
答案 0 :(得分:3)
如上所述here,在没有index.html
(或其他已配置的索引文件)的情况下,/etc/httpd/conf.d/welcome.conf
配置的欢迎页面将优先于其{{1}的其他配置指令。重命名该文件,使其不会在LocationMatch
中结束并自动编制索引。
答案 1 :(得分:0)
显然在没有启用索引的情况下登陆另一个虚拟主机或目录,或者.htaccess妨碍了。
首先设置“AllowOverride none”,因为如果你没有使用任何.htaccess文件,那么将它激活是荒谬的(并且因为你可以访问主服务器,所以你不需要它)。设置AllowOverride后,如果最近添加了索引并且未重新启动以应用更改,请重新启动服务器。
如果问题仍然存在,请运行apachectl -S
并确保您登陆正确的虚拟主机。
答案 2 :(得分:0)
我只想添加一下,将Mac更新为Catalina之后,我的Apache停止工作并出现相同的错误。 我必须:
mocks.js
)中添加module.exports =
{
response: {
body: { ... }
}
}
标记这对我有用。
答案 3 :(得分:0)
解决办法: 确保两个 apache 模块正在运行:
mod_autoindex.so
mod_dir.so
就您而言,mod_autoindex.so
正在运行。现在启用第二个。
PS:保留Options -Indexes
。这一点很重要。它确保禁用目录列表,因为您不应该允许任何人访问您服务器上的每个目录(有些具有相当私密的内容,例如 CMS 的目录)。