目录中的 .htaccess 使其从其父级列表中消失

目录中的 .htaccess 使其从其父级列表中消失

我在 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

现在,里面docsdocs/protected。此子目录有自己的.htaccess

AuthType "Basic"
AuthBasicProvider file
AuthUserFile /path/to/.htpasswd
#Require valid-user

现在,这对我来说就变得奇怪了:

  • 就像注释行一样,protected不受密码保护(这是正常的),并且在其父级列表中可见(也是预期的)
  • 如果我取消注释Require valid-userprotected它将受到密码保护(如果我直接输入 URL),但它也不会再出现在其父列表中。

谁能知道这是什么原因造成的?


编辑:现在我注意到,如果我输入受保护目录的 URL,然后输入密码,然后在不关闭浏览器的情况下返回列表,列表就完整了。总之,该目录是隐藏的,直到我向其提供凭据。但我只想保护它的内容,而不是它的存在!


PS:这是在 Synology 盒上运行 Apache/2.2.21 的情况。

答案1

答案是父目录应该有:

IndexOptions ShowForbidden

我花了两个小时才找到它。

相关内容