IndexIgnore *或Options -Indexes

时间:2012-12-27 23:27:34

标签: apache .htaccess

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

1 个答案:

答案 0 :(得分:35)

IndexIgnore directive是一种模式,其中 打开 的目录中的文件不会显示在自动索引中如果他们匹配模式。

比如说,我们有一个目录Indexes,在该目录中,我们有一个foo文件和3个文件,.htaccessab

如果在htaccess文件中有c,那么转到Options -Indexes,我会收到403 Forbidden响应,因为没有索引文件(index.html,index.php等)并通过http://mysite.com/foo/关闭自动索引。

如果在htaccess文件中有-Indexes,那么转到IndexIgnore b,我会收到一个自动索引响应,列出文件http://mysite.com/foo/ac文件将丢失,因为它已被忽略。如果我们在htaccess文件中有b而我们转到IndexIgnore *,我们将获得一个空白的自动索引文件,因为所有文件都被忽略了。

至于哪个更好,这取决于你想要什么。他们从根本上做了两件事。你想要自动索引吗?如果没有,请将其关闭http://mysite.com/foo/。如果是这样,请将其保留。如果您不希望某些内容显示在自动索引中,请使用Options -Indexes