我一直使用Options -Indexes通过.htaccess禁用目录列表。然而,我看到人们转而使用IndexIgnore *。有什么关系呢?哪一个比另一个更好?
发布于 2012-12-28 08:55:46
IndexIgnore directive是这样一种模式:如果目录中的文件与该模式匹配,则打开了Indexes 的目录中的文件将不会显示在自动索引中。
例如,我们有一个名为foo的目录,在该目录中,我们有一个.htaccess文件和3个文件:a、b和c。
如果在htaccess文件中有Options -Indexes,那么通过转到http://mysite.com/foo/,我将得到一个403禁止响应,因为没有索引文件(index.html、index.php等),并且通过-Indexes关闭了自动索引。
如果htaccess文件中有IndexIgnore b,那么通过转到http://mysite.com/foo/,我将得到一个自动索引响应,其中列出了文件a和c。b文件将丢失,因为它已被忽略。如果我们在htaccess文件中使用IndexIgnore *,并转到http://mysite.com/foo/,我们将得到一个空白的自动索引文件,因为所有文件都被忽略了。
至于哪个更好,这取决于你想要什么。它们从根本上做了两件不同的事情。你想要自动索引吗?如果没有,请将其关闭Options -Indexes。如果是这样,请将其保留为打开状态。如果您不想在自动索引中显示某些内容,那么可以使用IndexIgnore。
https://stackoverflow.com/questions/14062641
复制相似问题