
Gibt es eine Richtlinie zum expliziten Festlegen von Verzeichniseinträgen?ohne Indexdateizu 403 Verboten? Das Standardverhalten gibt eine 404 zurück, weilmod_dirkann die Indexdatei nicht finden.
Ich habe nichtmod_autoindexgeladen und Options
auf nur eingestellt FollowSymLinks
. Ich habe es versucht -Indexes
, aber das hat trotzdem eine 404 zurückgegeben.
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
DirectorySlash On
</IfModule>
<Directory /var/www>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Es sollte keine Rolle spielen, aber ich verwende Apache 2.4.
Antwort1
Ich beantworte meine eigene Frage nach viel Ausprobieren. Diese Antwort sollte für Apache >= 2.0 gelten.
Zusammenfassend scheint es, dass die Indexes
Option für die Options
Richtlinie erfordertmod_autoindex. Sie können jetzt mit dem Lesen aufhören, es sei denn, Sie möchten weitere Informationen zum Standardverhalten von Apache.
Mehr Info
Der Schlüssel ist, obmod_autoindexist geladen. Wenn es nicht geladen ist, Options -Indexes
hat die Einstellung keine Wirkung und gibt eine 404 zurück, was sinnvoll ist, da die mod_dir- DirectoryIndex
Direktive Ihre Indexdatei nicht finden kann. Wenn sie geladen ist, Options -Indexes
gibt die Einstellung eine 403 zurück.
Dies wird etwas erklärt in derApache-Optionen-DokumenteunterIndizes, was ein wenig verwirrend ist, da Options
es ein Teil von mod_core ist.
Indizes
Wenn eine URL angefordert wird, die auf ein Verzeichnis verweist, und in diesem Verzeichnis kein DirectoryIndex (z. B. index.html) vorhanden ist, gibt mod_autoindex eine formatierte Auflistung des Verzeichnisses zurück.
... und erklärt auf dermod_autoindexSeite:
Die automatische Indexgenerierung wird mit Options +Indexes aktiviert. Weitere Einzelheiten finden Sie in der Optionsanweisung.
Meine Tests zeigen, dass das Aktivieren/Deaktivieren von .htaccess-Dateien AllowOverride
irrelevant ist.