私は常にOptions -Indexes
.htaccess を介してディレクトリの一覧表示を無効にしてきました。ただし、IndexIgnore *
代わりに使用している人を見てきました。違いは何ですか?どちらが他のものより優れていますか?
1 に答える
IndexIgnore
ディレクティブは、オンになってIndexes
いるディレクトリ内のファイルがパターンに一致する場合、自動インデックスに表示されないパターンです。
たとえば、ディレクトリ があり、foo
そのディレクトリ内に.htaccess
ファイルがあり、3 つのファイル 、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
失われます。IndexIgnore *
代わりに htaccess ファイルを使用して に移動すると、http://mysite.com/foo/
すべてのファイルが無視されているため、空白の自動インデックス ファイルが取得されます。
どちらが良いかは、あなたが何を求めているかによります。彼らは基本的に2つの異なることをします。自動インデックスが必要ですか? そうでない場合は、オフにしOptions -Indexes
ます。その場合は、そのままにしておきます。自動インデックスに表示したくないものがある場合は、 を使用しますIndexIgnore
。