从索引中隐藏文件夹中的每个目录,但不包括其内容

在我的服务器上,我想创build一个隐藏于普通用户的目录,但是可以通过链接进行访问而无需身份validation。

目前我已经设置了这样的:

  • 在虚拟主机configuration中,我已经允许重写索引选项
  • 在我的服务器上,我有文件夹名为h ,如隐藏
  • h的同一级别上,我有一个.htaccess文件: IndexIgnore h
  • 而在另一个.htaccessIndexIgnore *

但是,这也隐藏了我不想要的h/abc/的内容。 我试着把IndexIgnore .h/abc/.htaccess ,但它没有工作。 HTTPD文档中也提到了这个问题,后来我学到了这一点:

多个IndexIgnore指令添加到列表中,而不是replace被忽略文件的列表。 默认情况下,列表包含。 (当前目录)。

有没有办法指定IndexIgnore只对当前目录内的项目,而不是recursion?

还是有其他更好的方法来处理这个问题? 我宁愿不要触摸“全局”configuration文件太多,尽pipe这是可能的。

将目录放在文档根目录之外,并创build一个Alias会得到你想要的。 也就是说,假设您的文档根目录是/var/www/html ,您可以创build/var/www/private ,然后添加(到您的全局 – 抱歉 – configuration):

 Alias /private/ /var/www/private/ 

这个目录不会显示在/ (因为它不包含在那个目录中)中的文件列表中,但是如果明确请求的话它就可以正常工作。