
ProWie kann ich verhindern, dass Leute eine Dateiliste im übergeordneten Verzeichnis ansehen, wenn ich index.html nicht hochgeladen habe?Ich kann sehen, wie die Dateiauflistung deaktiviert werden kann, wenn keine index.*-Datei vorhanden ist.
Wie kann ich die Dateiliste für das Stammverzeichnis zulassen, nicht jedoch für andere Unterverzeichnisse?
Dank im Voraus.
Antwort1
Da Sie die Frage markiert haben , könnten Sie in der Stammdatei von Apache 2.4 .htaccess
etwa Folgendes tun :.htaccess
# Default - Directory listings disabled (mod_autoindex)
Options -Indexes
# Override - Allow directory listings for the root only
<If "%{REQUEST_URI} == '/'">
Options +Indexes
</If>
Antwort2
Normalerweise erben Unterverzeichnisse die gleichen Einstellungen, die Sie in Apache auf ihr übergeordnetes Verzeichnis anwenden. Und soweit ich weiß, können Sie das nicht ändern und es gibt keine Möglichkeit, den Umfang von Anweisungen auf nur eine einzige Verzeichnisebene zu beschränken.
Das bedeutet, dass Sie Folgendes tun müssen:
- Setzen Sie die gewünschte Option/Anweisung im übergeordneten Verzeichnis
- Ändern/überschreiben/negieren Sie diese Option/Direktive für alle (aktuellen und neuen) Unterverzeichnisse.
Anstatt dies für jedes Unterverzeichnis einzeln zu tun, ist es am einfachsten, dies mit demDirectoryMatch
Richtlinie.
Legen Sie in Ihrer Haupt-httpd.conf (oder einem Include) fest
<Directory "/path/to/example.com/">
# enable directory listings
Options +Indexes
</Directory>
<DirectoryMatch "/path/to/example.com/.*/">
# Disable directory listings for all sub directories of /path/to/example.com/
Options -Indexes
</Directory>
(nicht getestet)