Zugriff über Symlinks ok, nicht über absoluten Pfad
Anna
- webserver
Hallo zusammen,
ich habe hier einen lokalen Webserver (Apache 2.0.54 auf Debian) sowie ein public_html Verzeichnis voller Symlinks auf diverse Verzeichnisse mit verschiedenen Webseiten. Die meisten davon tun ohne zu mucken. Über http://localhost/~Lil/ erreiche ich also dieses public_html Verzeichnis und kann per Klick auf einen Symlink eine dieser Webseiten aufrufen, z. B. http://localhost/~Lil/Projekt1/ bringt mich auf dessen Indexseite, wo ich mich dann ganz normal durchklicken kann.
Dabei bleibt der Pfad oben mit dem ~Lil wie er ist. Das klappt leider so NICHT bei den Projekten, die mod_rewrite benutzen, denn dann krieg ich für http://localhost/~Lil/Projekt2/index.html (die ich auf index.php umschreiben will) einen 404 Fehler: "The requested URL /home/Lil/public_html/Projekt2/index.php was not found on this server."
Ich bin sicher, ich habe hier etwas ganz Grundlegendes einfach überlesen oder nicht verstanden... Bin daher auch sehr dankbar für Hinweise à la "lies mal hier, dann müsstest du's selbst hinkriegen"...!
Danke fürs Lesen
Anna~
URL /home/Lil/public_html/Projekt2/index.php
Die Url oder Pfad stimt nicht,könte an diesem zeichen liegen -> ~
das es nicht auslesen kan
sonst weis ich auch nicht, ich benutze als localhost "Xampp"
gruß
C
Hallo Anna!
Nach einer Nacht im Serverdschungel bin vielleicht nicht mehr hinriechend klar, aber...
http://localhost/~Lil/Projekt2/index.html (die ich auf index.php umschreiben will) einen 404 Fehler: "The requested URL
...wenn der Symlink auf index.html zeigt, wird's die ja auch geben, oder ?
Aber warum gibt's die wenn du eh' auf index.php umschreibst ?
Gibt's denn die index.php ?
Kannst Du die index.php aufrufen wenn Du nicht ueber den Symlink gehst, sondern die Ziel-URL ( MIT [...]/index.php ) direkt aufrufst ?
Gruesse
Holger
Hallo Anna!
Hey Holger, schön dass Du so schnell schreibst :-)
Nach einer Nacht im Serverdschungel bin vielleicht nicht mehr hinriechend klar, aber...
http://localhost/~Lil/Projekt2/index.html (die ich auf index.php umschreiben will) einen 404 Fehler: "The requested URL
...wenn der Symlink auf index.html zeigt, wird's die ja auch geben, oder ?
Hmmmm schätze ich habe mich unklar ausgedrückt. Die Symlinks zeigen auf die jeweiligen Projektverzeichnisse, in diesem speziellen Fall gibt es also einen Symlink auf -> /Projekt2/. In dem Verzeichnis, auf das gelinkt wird, liegt eine index.php. (Das ist im übrigen nur ein Beispiel, eigentlich rewrite ich noch andere Dinge, aber an den Regeln liegt's nicht.)
Worauf ich eigentlich rauswill: Ich kann Dateien über den Pfad, der das "~Lil" enthält, problemlos aufrufen. Ich bekomme aber einen 404 Fehler, wenn ich den tatsächlichen Pfad verwende, also den, den mir PHP als Script_Filename ausgibt. Warum??
Hoffe das Problem jetzt etwas besser erklärt zu haben :-)
Gruesse
Holger
Auch Grüße
Anna~
Hallo Anna!
Hey Holger, schön dass Du so schnell schreibst :-)
Nach einer Nacht im Serverdschungel bin vielleicht nicht mehr hinriechend klar, aber...
http://localhost/~Lil/Projekt2/index.html (die ich auf index.php umschreiben will) einen 404 Fehler: "The requested URL
...wenn der Symlink auf index.html zeigt, wird's die ja auch geben, oder ?
Hmmmm schätze ich habe mich unklar ausgedrückt.
Nee, haste nicht, denn
Die Symlinks zeigen auf die jeweiligen Projektverzeichnisse, in diesem speziellen Fall gibt es also einen Symlink auf -> /Projekt2/.
das haette ich mir jetzt denken koennen muessen..
In dem Verzeichnis, auf das gelinkt wird, liegt eine index.php. (Das ist im übrigen nur ein Beispiel, eigentlich rewrite ich noch andere Dinge, aber an den Regeln liegt's nicht.)
Aber trotzdem versuch ich's noch einmal:
Du hast wohl ( wo auch immer ) fuer "~/public_html" ein "followSymlinks" eingeschaltet. Deshalb wird der gesamte logische Baum unterhalb von "public_html" auch eingeblenedet
Mit dem rewrite machst Du daraus dann vielleicht eine absolute URL unterhalb des logischen Serverroot ( http://localhost/ ).
Da liegen aber normalerweise virtuelle Verzeichnisse und Unterverzeichnisse von www-root ( /var/www/htdocs oder weiss Du-weisst-schon-wer wo )
Aber halt nicht automatisch auch Deine Projektverzeichnisse.
Die Projektverzeichnisse muessten imo einzeln als Webverzeichnisse ( in der httpd.conf oder wo auch immer ) freigegeben sein, denn den Schluss "unterhalb von ~/public_html" erreichbar => als virtuelles Verzeichnis freigegeben wuerde ich jetzt nicht ziehen.
Plausibel ?
Sind die Projektverzeichnisse denn einzeln "freigegeben" ?
Wenn nein, ist's das wohl.
Wenn ja, weiss ich auch nicht weiter...
Gruesse
Holger
Huhu nochmal,
also: PROBLEM GELÖST! :-)
Du hast wohl ( wo auch immer ) fuer "~/public_html" ein "followSymlinks" eingeschaltet. Deshalb wird der gesamte logische Baum unterhalb von "public_html" auch eingeblenedet
Mit dem rewrite machst Du daraus dann vielleicht eine absolute URL unterhalb des logischen Serverroot ( http://localhost/ ).
Da liegen aber normalerweise virtuelle Verzeichnisse und Unterverzeichnisse von www-root ( /var/www/htdocs oder weiss Du-weisst-schon-wer wo )
Aber halt nicht automatisch auch Deine Projektverzeichnisse.Die Projektverzeichnisse muessten imo einzeln als Webverzeichnisse ( in der httpd.conf oder wo auch immer ) freigegeben sein, denn den Schluss "unterhalb von ~/public_html" erreichbar => als virtuelles Verzeichnis freigegeben wuerde ich jetzt nicht ziehen.
Plausibel ?
Sind die Projektverzeichnisse denn einzeln "freigegeben" ?
Wenn nein, ist's das wohl.
Wenn ja, weiss ich auch nicht weiter...
Hey Holger, vielen Dank für Deine Gedanken! Ich hab, das gebe ich zu, immer noch nicht alles so ganz verstanden, d.h. geistig durchdrungen, aber ich habe jetzt für jedes Projekt mit mod_rewrite einen Virtual Host mit DocumentRoot auf das Projektverzeichnis angelegt, und alles läuft PERFEKT! Mensch, was hat mich das Schweiß gekostet. Möchte als Tipp auch allen mit ähnlichen Problemen empfehlen, genau zu prüfen, welche Konfigdateien das Betriebssystem denn so verwendet. Mein Debian benutzt ungefähr vier bis zehn Dateien, von denen ich nur zwei angeschaut hatte... *argh*
Schönen Montagabend noch
Anna~
Hallo Anna !
Huhu nochmal,
also: PROBLEM GELÖST! :-)
Glueckwunsch ! Das freut mich !
Du hast wohl ( wo auch immer ) fuer "~/public_html" ein "followSymlinks" eingeschaltet. Deshalb wird der gesamte logische Baum unterhalb von "public_html" auch eingeblenedet
Mit dem rewrite machst Du daraus dann vielleicht eine absolute URL unterhalb des logischen Serverroot ( http://localhost/ ).
Da liegen aber normalerweise virtuelle Verzeichnisse und Unterverzeichnisse von www-root ( /var/www/htdocs oder weiss Du-weisst-schon-wer wo )
Aber halt nicht automatisch auch Deine Projektverzeichnisse.Die Projektverzeichnisse muessten imo einzeln als Webverzeichnisse ( in der httpd.conf oder wo auch immer ) freigegeben sein, denn den Schluss "unterhalb von ~/public_html" erreichbar => als virtuelles Verzeichnis freigegeben wuerde ich jetzt nicht ziehen.
Plausibel ?
Sind die Projektverzeichnisse denn einzeln "freigegeben" ?
Wenn nein, ist's das wohl.
Wenn ja, weiss ich auch nicht weiter...Hey Holger, vielen Dank für Deine Gedanken! Ich hab, das gebe ich zu, immer noch nicht alles so ganz verstanden, d.h. geistig durchdrungen, aber ich habe jetzt für jedes Projekt mit mod_rewrite einen Virtual Host
"Virtual Host" waer glaub ich nicht noetig gewesen. Einfach ein Directory-Eintrag haette glaub ich ausgereicht.
Aber egal, Hauptsache es funkt ! :-)
mit DocumentRoot auf das Projektverzeichnis angelegt, und alles läuft PERFEKT! Mensch, was hat mich das Schweiß gekostet.
Freut mich dass Du den Apache bezwungen hast
( Aechz, Was hat der mich schon an Zeit gekostet....(
Möchte als Tipp auch allen mit ähnlichen Problemen empfehlen, genau zu prüfen, welche Konfigdateien das Betriebssystem denn so verwendet. Mein Debian benutzt ungefähr vier bis zehn Dateien, von denen ich nur zwei angeschaut hatte... *argh*
Schönen Montagabend noch
Anna~
Dto
LG
Holger
Hallo Anna~,
poste doch bitte mal Deine Rewrite-Regeln. Eventuell leitest Du auf http://localhost/home/Lil/public_html/Projekt2/index.php statt auf http://localhost/~Lil/Projekt2/index.php um?
schöne Grüße,
David