【发布时间】:2012-12-27 23:27:33
【问题描述】:
我一直使用Options -Indexes 通过.htaccess 禁用目录列表。但是,我看到有人改用IndexIgnore *。有什么不同?哪个比哪个好?
【问题讨论】:
我一直使用Options -Indexes 通过.htaccess 禁用目录列表。但是,我看到有人改用IndexIgnore *。有什么不同?哪个比哪个好?
【问题讨论】:
IndexIgnore directive 是一种模式,其中具有Indexes 的目录中的文件打开如果匹配模式。
例如,我们有一个目录foo,在该目录中,我们有一个.htaccess 文件和三个文件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 文件将丢失,因为它已被忽略。如果我们在 htaccess 文件中有IndexIgnore *,然后转到http://mysite.com/foo/,我们将得到一个空白的自动索引文件,因为所有文件都被忽略了。
至于哪个更好,这取决于你想要什么。他们从根本上做两件不同的事情。你想要自动索引吗?如果没有,请将其关闭Options -Indexes。如果是这样,请保持打开状态。如果您不希望某些内容显示在自动索引中,请使用IndexIgnore。
【讨论】:
IndexIgnore *?改用Options -Indexes不是更好吗?
IndexIgnore * 是否显示索引屏幕,但没有文件?