2012-12-27 8 views
16

Ich habe immer Options -Indexes verwendet, um die Verzeichnisliste durch .htaccess zu deaktivieren. Ich habe jedoch Leute gesehen, die stattdessen IndexIgnore * verwenden. Was ist der Unterschied? Was ist besser als der andere?IndexIgnore * oder Optionen -Indexe

Antwort

32

Die IndexIgnore directive ist ein Muster, bei dem Datei in einem Verzeichnis die Indexeseingeschaltet hat, wird in dem Auto-Index nicht angezeigt, wenn sie mit dem Muster übereinstimmen.

Sagen Sie zum Beispiel, haben wir ein Verzeichnis, foo, und in diesem Verzeichnis haben wir eine .htaccess-Datei und 3 Dateien, a, b und c.

Wenn in der .htaccess-Datei dort Options -Indexes ist, dann zu http://mysite.com/foo/ gehen, werde ich eine 403 Forbidden Antwort erhalten, denn es gibt keine Index-Datei (index.html, index.php, etc.) und Auto-Index eingeschaltet aus über -Indexes.

Wenn in der .htaccess-Datei dort IndexIgnore b ist, dann zu http://mysite.com/foo/ gehen, werde ich eine Auto-Index Antwort erhält die Dateien der Auflistung, a und c. Die Datei b fehlt, weil sie ignoriert wurde. Wenn wir stattdessen IndexIgnore * in der htaccess-Datei haben und wir gehen zu http://mysite.com/foo/, erhalten wir eine Auto-Index-Datei, die leer ist, da alle Dateien ignoriert wurden.

Für was ist besser, es hängt davon ab, was Sie wollen. Sie machen grundsätzlich zwei verschiedene Dinge. Möchten Sie Autoindizes? Wenn nicht, schalten Sie es aus Options -Indexes. Wenn ja, lass es eingeschaltet. Wenn Sie nicht möchten, dass einige Dinge in einem Autoindex angezeigt werden, verwenden Sie IndexIgnore.

+2

Warum verwenden manche Leute nur 'IndexIgnore *'? Wäre es nicht besser, stattdessen 'Options -Indexes' zu verwenden? – shea

+0

@bungeshea Vielleicht wollen sie nicht, dass Leute 403 Fehler bekommen –

+0

Zeigt 'IndexIgnore *' den Indexbildschirm an, aber ohne Dateien? – shea

Verwandte Themen