Apache: RewriteRule für Umgehung unkorrekter Pfadangaben?

Apache, Lighttpd, nginx, Cherokee
ketanest
Posts: 3
Joined: 2010-09-19 11:06

Apache: RewriteRule für Umgehung unkorrekter Pfadangaben?

Post by ketanest » 2011-04-29 21:51

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!! :)
Last edited by ketanest on 2011-05-01 15:32, edited 2 times in total.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Absolute Pfadangabe Apache

Post by Joe User » 2011-04-29 23:20

Entweder auf relative Pfade umstellen, oder das Projekt lokal um eine Ordner-Ebene weiter schieben (von ../projektseite/.. nach ../projektseite/projektseite/..).
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

papabaer
Userprojekt
Userprojekt
Posts: 170
Joined: 2009-05-14 17:40
Location: Halle (Saale)

Re: Absolute Pfadangabe Apache

Post by papabaer » 2011-04-30 19:40

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.

ketanest
Posts: 3
Joined: 2010-09-19 11:06

Re: Absolute Pfadangabe Apache

Post by ketanest » 2011-05-01 15:30

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.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Apache: RewriteRule für Umgehung unkorrekter Pfadangaben

Post by Joe User » 2011-05-01 17:59

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.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.