Die Standarddatei apache2.conf enthält Folgendes:
<Directory /usr/share>
...
<Directory /var/www/>
Warum steht in der einen Direktive ein abschließender Schrägstrich, in der anderen aber nicht? Welchen Unterschied macht das?
Nebenfrage: Wenn ich nichts teilen möchte von/usr/teilen, kann ich diesen Teil einfach löschen oder aufAlle abgelehnten?
Antwort1
In Bezug auf den abschließenden Schrägstrich gilt:https://serverfault.com/a/263219heißt es, das Argument zu einemDirectory
Die Direktive muss ein Verzeichnispfad sein. Die Konvention ist ohne Schrägstrich, aber beide Syntaxen sind gültig und führen zum gleichen Ergebnis.
Beachten Sie, dass es in anderen Szenarien und in Kombination mit anderen Anweisungen Unterschiede geben kann, z. B. das Deaktivieren derDirectorySlash
Richtlinie kann dazu führen, dass Anfragen nach http://www.example.com/directory-path
anderen Ergebnissen angezeigt werden als die Anfrage nachhttp://www.example.com/directory-path/
Wenn ich nichts von /usr/share freigeben möchte, kann ich diesen Teil einfach löschen oder auf „Alles verweigern erforderlich“ setzen?
Verzeichnisanweisungen selbst machen keine Inhalte öffentlich.
(Soweit ich weiß, bilden nur die Anweisungen [Script]Alias
und DocumentRoot
und ähnliche URI-Pfade auf das Dateisystem ab.)
Verzeichnisblöcke wenden nur bestimmte Einstellungen auf Speicherorte in einem Dateisystem an. Das bedeutet, dass Sie Verzeichnisblöcke wie den für für auch dann belassen können, /usr/share
wenn Sie von dort (noch) keine Inhalte freigeben. Dies hat keine Auswirkungen auf die Sicherheit oder Leistung.