Apache und symbolische Links
Winnie-2
- webserver
0 dedlfix
0 dedlfix
0 Der Martin
0 suit
Im htdocs-Verzeichnis meines XAMPP unter Windows XP lege ich eine Verknüpfung auf ein anderes ausserhalb liegendes Verzeichnis an.
wenn ich nun
http://localhost/<name_der_verknüpfung>
Im Firefox eingebe, sehe ich einen Error 404, obwohl der apache läuft und der Zugruff auf die anderen Seiten in emienm htdos-Verzeichnis funktioniert. Und die index.html ist im verknüpften Verzeichnis natürlich auch drin.
Wieso tuts das nicht?
Danke für Eure Hilfe. :-)
Hi!
Im htdocs-Verzeichnis meines XAMPP unter Windows XP lege ich eine Verknüpfung auf ein anderes ausserhalb liegendes Verzeichnis an.
Verknüpfungen sind eine Explorer-Geschichte. Der Apache benutzt nicht den Explorer, um sich im Dateisystem zu bewegen. Du kannst das auch nachvollziehen, indem du von einer Eingabeaufforderung (cmd) mit cd in diese Verknüpfung zu wechseln versuchst - geht nicht.
Lo!
Hi!
[...] geht nicht.
Lösen lässt sich das nur mit Apache-Mitteln, wie Alias und Location.
Lo!
Hallo,
Im htdocs-Verzeichnis meines XAMPP unter Windows XP lege ich eine Verknüpfung auf ein anderes ausserhalb liegendes Verzeichnis an.
eine gewöhnliche Explorer-Verknüpfung, wie ich aus den beschriebenen Symptomen schließe.
wenn ich nun
http://localhost/<name_der_verknüpfung>
Im Firefox eingebe, sehe ich einen Error 404
Oh. Vermutlich hast du den Namen nicht vollständig angegeben - wahrscheinlich ohne die Endung ".lnk". Wenn du die ergänzt, dann wird der Apache diese wenige hundert Byte große Ressource auch ausliefern, und Firefox wird dich vermutlich fragen, wo er denn die Datei "foo.lnk" speichern soll.
Das ist aber sicher nicht das, was du willst.
Wieso tuts das nicht?
Wenn du einen echten NTFS-Hardlink verwendest (der allerdings umständlich zu erzeugen ist), funktioniert es wahrscheinlich so, wie du dir das vorstellst. Einen Alias in der Apache-Konfiguration würde ich aber auch vorziehen.
Ciao,
Martin
eine gewöhnliche Explorer-Verknüpfung, wie ich aus den beschriebenen Symptomen schließe.
Und die hat mit einem Symlink nicht wirklich viel zu tun.
Wenn du einen echten NTFS-Hardlink verwendest (der allerdings umständlich zu erzeugen ist), funktioniert es wahrscheinlich so, wie du dir das vorstellst.
Ein Hardlink hat aber auch mit einem Symlink nicht viel zu tun ;)
Ein Harter Link selbst ist zudem auch noch "gefährlich" da auf die schnelle nicht ersichtlich ist, dass bestimmte Ressourcen unter mehreren Pfaden erreichbar sind.
Löscht man im Explorer den Hardlink an einer Stelle, ist die Datei oder der Ordner "weg" - und zwar an allen Stellen.
Und ein Hardlink ist unter Windows nicht viel schwieriger zu erzeugen als ein Hardlink unter Unix.
Unix:
ln foo.txt bar.txt
Windows:
fsutil hardlink create "foo.txt" "bar.txt"
Ich würde da aber anstatt Hardlinks eher Junctions verwenden - wie sie z.B. auch bei den Benutezrverzeichnissen von Windows verwandt werden - die Verhalten sich eher wie Symlinks - nur dass die Pfade halt absolut sind.
Hi,
eine gewöhnliche Explorer-Verknüpfung, wie ich aus den beschriebenen Symptomen schließe.
Und die hat mit einem Symlink nicht wirklich viel zu tun.
doch, der Zweck ist derselbe, und die technische Realisierung ähnlich. Nur dass solche Links unter Windows leider erst auf Anwendungsebene und nur durch den Windows-Explorer (und vielleicht ein paar wenige Third-Party-Dateimanager) aufgelöst werden, und nicht bereits durch den Filesystem-Treiber.
Ein Harter Link selbst ist zudem auch noch "gefährlich" da auf die schnelle nicht ersichtlich ist, dass bestimmte Ressourcen unter mehreren Pfaden erreichbar sind.
Löscht man im Explorer den Hardlink an einer Stelle, ist die Datei oder der Ordner "weg" - und zwar an allen Stellen.
Das war mir neu - ich war bisher überzeugt, NTFS hätte da analog zu Unix eine Art Link-Counter, der dafür sorgt, dass das Objekt erst mit dem letzten darauf verweisenden Verzeichniseintrag wirklich gelöscht wird.
Und ein Hardlink ist unter Windows nicht viel schwieriger zu erzeugen als ein Hardlink unter Unix.
Für dich und mich nicht. Für Leute, die nur übers GUI arbeiten und Berührungsängste von der Konsole haben, aber schon.
Ich würde da aber anstatt Hardlinks eher Junctions verwenden - wie sie z.B. auch bei den Benutezrverzeichnissen von Windows verwandt werden - die Verhalten sich eher wie Symlinks - nur dass die Pfade halt absolut sind.
Danke - ich wusste bisher nicht einmal, dass es da Unterschiede gibt.
Ciao,
Martin