【问题标题】:IndexIgnore * or Options -IndexesIndexIgnore * 或 Options -Indexes
【发布时间】:2012-12-27 23:27:33
【问题描述】:

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

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    IndexIgnore directive 是一种模式,其中具有Indexes 的目录中的文件打开如果匹配模式。

    例如,我们有一个目录foo,在该目录中,我们有一个.htaccess 文件和三个文件abc

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

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

    至于哪个更好,这取决于你想要什么。他们从根本上做两件不同的事情。你想要自动索引吗?如果没有,请将其关闭Options -Indexes。如果是这样,请保持打开状态。如果您不希望某些内容显示在自动索引中,请使用IndexIgnore

    【讨论】:

    • 那么为什么有些人只使用IndexIgnore *?改用Options -Indexes不是更好吗?
    • IndexIgnore * 是否显示索引屏幕,但没有文件?
    • @bungeshea 正确,您仍然可以看到自动索引页面,但没有文件。
    • 谢谢。你知道是否有任何性能差异?
    • @bungeshea 我没有任何基准数字,但我确信它是微不足道的。
    猜你喜欢
    • 2016-05-16
    • 2016-07-31
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2014-11-28
    • 2011-12-02
    • 2016-09-17
    相关资源
    最近更新 更多