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:
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:
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.
TrackBacks
Trackback URL dieses Eintrages:
http://www.samelis.ch/blog/mischa/trackback.cfm?id=A8249FF1-F103-4D4C-9D183E408F7120A3
Kommentare
Für diesen Eintrag existieren keine Kommentare.