20

我一直习惯于Options -Indexes通过 .htaccess 禁用目录列表。但是,我看到人们使用它IndexIgnore *。有什么不同?哪个比另一个更好?

4

1 回答 1

46

IndexIgnore指令是一种模式,如果已Indexes 打开的目录中的文件与该模式匹配,则它们不会显示在自动索引中。

例如,我们有一个目录 , foo,并且在该目录中,我们有一个.htaccess文件和 3 个文件,a,bc

如果在 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 回答