我有一个运行在Linux机器上的Apache服务器(比如example.com)。 在web根目录下有一个文件夹( http://example.com/docs/
,本地/home/me/docs
),它的子目录自动生成索引,通过.htaccess
启用:
Options +Indexes IndexOptions FancyIndexing NameWidth=* FoldersFirst IgnoreCase SuppressDescription Charset=UTF-8 SuppressHTMLPreamble
现在, docs
里面是docs/protected
。 这个子目录有它自己的.htaccess
:
AuthType "Basic" AuthBasicProvider file AuthUserFile /path/to/.htpasswd #Require valid-user
现在,这是它变得怪异的地方(对我来说):
protected
的不受密码保护(这是正常的),并且在其父母的列表中可见(也是预期的) Require valid-user
,那么protected
成为密码保护(如果我直接键入URL),但是它也不会再出现在其父列表中。 任何人都可以弄清楚是什么原因造成的?
编辑:现在我注意到,如果我input受保护的目录的URL,然后input密码,然后返回到列表,而不closures浏览器,列表完成。 总之,目录是隐藏的,直到我给它的凭据。 但我只想保护它的内容,而不是它的存在!
PS:这是在Synology盒子上运行的Apache / 2.2.21。
答案是父目录应该有:
IndexOptions ShowForbidden
我失去了两个小时的发现。