![Apache httpd: Alias wird vom virtuellen Host übernommen?](https://rvso.com/image/769272/Apache%20httpd%3A%20Alias%20%E2%80%8B%E2%80%8Bwird%20vom%20virtuellen%20Host%20%C3%BCbernommen%3F.png)
Wenn der Standardserver
Alias /bla /srv/www/blub
dann können auch alle VirtualHosts zugreifen /bla
.
Ich muss sagen, das habe ich nicht erwartet. Meiner Meinung nach sollte ein virtueller Server seine eigene separate Konfiguration haben.
Ist das ein Fehler oder ein Feature? Kann ich dieses Verhalten abschalten?
Antwort1
Die Einstellungen sind nicht auf einen bestimmten VirtualHost beschränkt, sondern werden in den Hauptkonfigurationsdateien des Servers abgelegt (d. h.httpd.conf
oder in Konfigurationsausschnitten geladen mitInclude
und/oderIncludeOptional
Anweisungen) gelten für den gesamten Server und schließen alle VirtualHosts ein.
Umfang:Anweisungen in den Hauptkonfigurationsdateien gelten für den gesamten Server. Wenn Sie die Konfiguration nur für einen Teil des Servers ändern möchten, können Sie den Umfang Ihrer Anweisungen einschränken, indem Sie sie in die Abschnitte
<Directory>
,<DirectoryMatch>, <Files>, <FilesMatch>, <Location>
, und einfügen<LocationMatch>
. Diese Abschnitte beschränken die Anwendung der darin enthaltenen Anweisungen auf bestimmte Dateisystemspeicherorte oder URLs. Sie können auch verschachtelt werden, was eine sehr feinkörnige Konfiguration ermöglicht.
httpd kann mehrere verschiedene Websites gleichzeitig bedienen. Dies nennt man virtuelles Hosting. Anweisungen können auch in
<VirtualHost>
Abschnitte unterteilt werden, sodass sie nur für Anfragen an eine bestimmte Website gelten.
Platzieren Sie keine Anweisungen in der Haupt-httpd.conf, die nicht auf alle virtuellen Hosts angewendet werden sollen.