Page 1 of 1

Apache: RewriteRule für Umgehung unkorrekter Pfadangaben?

Posted: 2011-04-29 21:51
by ketanest
Hallo zusammen,

ich brauche eure Hilfe, denn ich komme leider nicht weiter.

Ich habe in einem Webprojekt absolute Pfade zum Einbinden von Bildern, CSS-Dateien, .. in den HTML-Code genutzt.
Lokal funktioniert das, doch auf dem Produktivserver läuft das Projekt in einem Unterordner.
URL: http://www.diedomain.derserver.de/projektseite/
Ich habe SFTP Zugriff auf: /home/projektseite/ (das ist die Ausgabe von 'pwd').
Hier ist ein Symlink namens www in den Document Root des Webservers(?).
Bei der Fehlerausgabe sieht es also so aus:
/mnt/data/projektseite -> die Projektseite
/mnt/data/www -> das DokumentRoot Verzeichnis

Absolute Verweise auf / landen im DocumentRoot der Domain und nicht im Unterorder projektseite.

Wegen dem Fehlen einer eigenen Domain ist das zusätzliche Konfigurieren eines vHosts keine Lösung. Kann man hier mit mod_rewrite arbeiten?
Meine Recherchearbeiten haben mich allerdings zu keiner funktionierenden Konfiguration geführt.

Habt ihr die Lösung des Problems?
Ich freue mich auf eure Antworten und bin dankbar für jede Hilfe!

Vielen Dank!! :)

Re: Absolute Pfadangabe Apache

Posted: 2011-04-29 23:20
by Joe User
Entweder auf relative Pfade umstellen, oder das Projekt lokal um eine Ordner-Ebene weiter schieben (von ../projektseite/.. nach ../projektseite/projektseite/..).

Re: Absolute Pfadangabe Apache

Posted: 2011-04-30 19:40
by papabaer
Du verwechselst den absoluten Pfad des Dateisystems mit dem absoluten Pfad der URL.

Das Dateisystem ist für dich nicht relevant, weil ein Client, der deine Website aufruft, davon gar nichts wissen darf. Für deine Problemstellung ist der absolute Pfad unterhalb deiner Domain wichtig.

Das wäre also /projektseite/PFAD/ZUR/CSS_DATEI. Ein Browser setzt vor den führenden / einfach die Domain davor und alles ist so, wie es sein soll.

Re: Absolute Pfadangabe Apache

Posted: 2011-05-01 15:30
by ketanest
das stimmt natürlich, papabaer.
ich habe die zusätzlichen angaben zu den pfaden gemacht, weil ich gehofft habe, es gibt eine lösung die z.b. dem aufruf /images/bild.jpg den notwendigen zusatz hinzufügt, sodass das bild unter /projektseite/images/bild.jpg gefunden wird.
das umarbeiten den absoluten pfade in relative pfade wäre sicher eine lösung, führt aber z.b. bei header redirects mit php header('location: ...'); zu einer unüberwindbaren hürden. einzig das gleichzeitige lokale verschieben in einen unterordner würde zum erfolg führen. allerdings finde ich das keine gute lösung, weil bei einem serverwechsel uU. wieder angepasst werden müsste.
beispiele wie: http://stackoverflow.com/questions/3888 ... itute-urls hatten mich auf die idee gebracht, dass es eine "einfachere" lösung gibt.

Re: Apache: RewriteRule für Umgehung unkorrekter Pfadangaben

Posted: 2011-05-01 17:59
by Joe User
PHP kennt Variablen und Konstanten, das darf man in solchen Fällen gerne nutzen. Alternativ erweitert man seinen Publishprozess um ein kleines sed-Script, oder man wählt die beste Möglichkeit und gleicht seine Entwicklungsumgebung dem Produktivsystem an und nutzt zusätzlich Variablen.