![直接访问 URL 时隐藏目录内容](https://linux22.com/image/540964/%E7%9B%B4%E6%8E%A5%E8%AE%BF%E9%97%AE%20URL%20%E6%97%B6%E9%9A%90%E8%97%8F%E7%9B%AE%E5%BD%95%E5%86%85%E5%AE%B9.png)
在我的网站上,如果你浏览http://example.com/images/
整个目录的内容就会显示如下:
我怎样才能避免发生这种情况?
我可以.htaccess
在该目录中创建文件吗?或者有更好的方法吗?我真的想阻止整个站点的目录列表(即该站点上的所有目录)。
我认为这要么是在 Apache 中必须完成的事情,要么是使用全局.htaccess
文件并将其放在public_html
文件夹中,不是吗?
编辑
我使用index.php
文件转移了这个问题,但我仍然觉得安全性是一个问题,我该如何永久解决这个问题?
答案1
根据你的<directory>
指令的定义方式,你有几个选择。
对于该目录,Options -Indexes
将关闭它。可以在 httpd.conf 文件中的任何地方执行此操作以禁用此类操作。
此外,在特定目录中放置一个 .htaccess 文件IndexIgnore *
仍会生成列表,但会隐藏所有内容。有点不靠谱,但如果你不能修改 httpd.conf,在紧急情况下可以发挥作用。
答案2
您需要禁用目录浏览。您可以通过修改 来对整个服务器执行此操作httpd.conf
,也可以通过使用文件在您选择的目录中执行此操作.htaccess
。
Options
在这两种情况下,查找以和一些其他单词开头的行;如果它包含Indexes
,则将其更改为-Indexes
;如果它不包含 ,则将其添加到行中。
如果没有Options
指令,则只需添加Options -Indexes
,即可。