Kleine Erleuchtung bei Alias in Apaches httpd.conf

Es sind ja oft die kleinen Dinge, die einen zum Verzweifeln bringen. So hat mir Apache gerade den letzten Nerv geraubt mit der (für mich) unsinnigen Unterscheidung zwischen Slash (/) und Backslash (\).

Um eine externe Bibliothek in einem Projekt korrekt einzubinden, ohne gleich alle Dateien des fremden Frameworks in den Projektauftritt zu kopieren, musste ich im Apache-Webserver Mappings erstellten, sogenannte Alias. Auf Projektebene habe ich deshalb deshalb den VirtualHost-Eintrag im httpd.conf ergänzt:

<VirtualHost *>
    ServerName local.test.ch
    DocumentRoot "G:\wwwroot\test"
    Alias /framework/ "G:\wwwroot\framework\"
</VirtualHost>

Wie schon zu vermuten war, funktionierte das Alias nicht. Bequem wie ich war, habe ich einfach den Windows-Pfad verwendet, was bei Apache keine gute Wahl war (und generell nicht ist). Zwei Varianten haben mich schliesslich doch noch zum Ziel geführt:

<VirtualHost *>
    ServerName local.test.ch
    DocumentRoot "G:\wwwroot\test"
    Alias /framework "G:\wwwroot\framework"
</VirtualHost>
#oder
<VirtualHost *>
    ServerName local.test.ch
    DocumentRoot "G:\wwwroot\test"
    Alias /framework/ "G:\wwwroot\framework/"
</VirtualHost>

Die Erklärung dafür: Besitzt das Alias einen abschliessenden Slash, so muss auch das Zielverzeichnis mit einem Slash abgeschlossen werden. Meine Empfehlung daher: Lieber konsequent auf den Slash am Schluss verzichten und so eine Fehlerquelle vermeiden.

Kommentare

Leave this field empty
Ihren Kommentar hinzufügen

Falls Sie abonnieren, werden alle neuen Kommentare zu diesem Thema an Ihre E-Mail-Adresse gesandt.

TrackBacks

Es gibt keine Trackbacks für diesen Eintrag.

Trackback URL dieses Eintrages:
http://www.samelis.ch/blog/mischa/trackback.cfm?id=A8249FF1-F103-4D4C-9D183E408F7120A3