我一直习惯于Options -Indexes
通过 .htaccess 禁用目录列表。但是,我看到人们使用它IndexIgnore *
。有什么不同?哪个比另一个更好?
问问题
40364 次
1 回答
46
该IndexIgnore
指令是一种模式,如果已Indexes
打开的目录中的文件与该模式匹配,则它们不会显示在自动索引中。
例如,我们有一个目录 , foo
,并且在该目录中,我们有一个.htaccess
文件和 3 个文件,a
,b
和c
。
如果在 htaccess 文件中有Options -Indexes
,那么通过http://mysite.com/foo/
,我会得到 403 Forbidden 响应,因为没有索引文件(index.html、index.php 等)并且自动索引通过-Indexes
.
如果在 htaccess 文件中有IndexIgnore b
,那么通过转到http://mysite.com/foo/
,我将获得列出文件的自动索引响应,a
并且c
. 该b
文件将丢失,因为它已被忽略。如果我们IndexIgnore *
在 htaccess 文件中,然后转到http://mysite.com/foo/
,我们将得到一个空白的自动索引文件,因为所有文件都被忽略了。
至于哪个更好,就看你想要什么了。他们从根本上做两件不同的事情。你想要自动索引吗?如果没有,请将其关闭Options -Indexes
。如果是这样,请保持打开状态。如果您不希望某些内容显示在自动索引中,请使用IndexIgnore
.
于 2012-12-28T00:55:46.333 回答