在我的服务器上,我想创建一个对普通用户隐藏的目录,但可以通过链接访问而无需身份验证。
目前我已经这样设置:
- 在虚拟主机配置中,我允许覆盖索引选项
- 在我的服务器上,我有一个文件夹
h
,名为隐藏 h
与我在同一级别的.htaccess
文件如下:IndexIgnore h
.htaccess
在另一个IndexIgnore *
但是,这也隐藏了 的内容h/abc/
,而我并不需要。我尝试输入IndexIgnore .
,h/abc/.htaccess
但没有成功。在HTTPD 文档,我后来才知道:
多个 IndexIgnore 指令添加到列表,而不是替换忽略文件列表。默认情况下,列表包含 .(当前目录)。
有没有办法指定IndexIgnore
仅对当前目录内的项目起作用,而不是递归?
或者有其他更好的方法来解决这个问题?我宁愿不要过多地触碰“全局”配置文件,尽管这是可能的。
答案1
将目录放在文档根目录之外并创建一个Alias
即可实现您的目标。也就是说,假设您的文档根目录类似于/var/www/html
,您将创建/var/www/private
并添加(到您的全局 -- 抱歉 -- 配置):
Alias /private/ /var/www/private/
该目录不会出现在文件列表中/
(因为它不包含在该目录中),但如果明确请求,它可以正常工作。