20

私は常にOptions -Indexes.htaccess を介してディレクトリの一覧表示を無効にしてきました。ただし、IndexIgnore *代わりに使用している人を見てきました。違いは何ですか?どちらが他のものより優れていますか?

4

1 に答える 1

46

IndexIgnoreディレクティブは、オンになっIndexes いるディレクトリ内のファイルがパターンに一致する場合、自動インデックスに表示されないパターンです。

たとえば、ディレクトリ があり、fooそのディレクトリ内に.htaccessファイルがあり、3 つのファイル 、abおよびがあるとしcます。

htaccess ファイルに がある場合、Options -Indexesに移動http://mysite.com/foo/すると、403 Forbidden 応答が返されます。これは、インデックス ファイル (index.html、index.php など) がなく、 を介して自動インデックスがオフになっているため-Indexesです。

htaccess ファイルに がある場合はIndexIgnore b、 に移動するhttp://mysite.com/foo/と、ファイルを一覧表示する自動インデックス応答が取得されac. ファイルは無視されているため、b失われます。IndexIgnore *代わりに htaccess ファイルを使用して に移動すると、http://mysite.com/foo/すべてのファイルが無視されているため、空白の自動インデックス ファイルが取得されます。

どちらが良いかは、あなたが何を求めているかによります。彼らは基本的に2つの異なることをします。自動インデックスが必要ですか? そうでない場合は、オフにしOptions -Indexesます。その場合は、そのままにしておきます。自動インデックスに表示したくないものがある場合は、 を使用しますIndexIgnore

于 2012-12-28T00:55:46.333 に答える