Ankündigung

Einklappen
Keine Ankündigung bisher.

Bildergalerie: Pfadangabe für Bilder unterhalb von Root-Verzeichnis

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bildergalerie: Pfadangabe für Bilder unterhalb von Root-Verzeichnis

    Hallo Forengemeinde,

    ich habe vor kurzem eine mobile Website neben der normalen Website gestaltet. Während die normale Seite über www.irgendwas.de aufgerufen wird hab ich für die mobile Seite eine Third-Level-Domain m.irgendwas.de.
    Prinzipiell funktioniert das ganz prima, allerdings hab ich Probleme wenn ich auf gemeinsame Dateien zugreifen will.
    Habe folgende Ordnerstruktur:
    ./www/normal/... für die normale Homepage.
    ./www/mobile/... für die mobile Homepage.
    Das rootverzeichnis für die jeweilige Adresse ist dann im Unterordner "normal" bzw. "mobile".

    Bilder für Bildergalerie und ähnlichem hatte ich immer in einem Unterordner im Rootberzeichnis, allerdings hab ich jetzt das Problem dass ich nicht beide Unterordner für normale und mobile Seite synchron halten kann. Mit "../" kann ich dazu nicht tiefer als in das Rootverzeichnis gehen und somit keinen gemeinsamen Zugriffspunkt für Dateien beider Seiten haben.
    Liegt das Problem an falscher Pfadangabe im PHP-Script oder ist das einfach aufgrund der Zuordnung von Adresse zu einem Ordner gar nicht möglich?

    Ich finde es nur optisch unschön das Root-Verzeichnis eine Ebene höher zu wählen und dadurch nicht mehr mit Third-Level-Domain arbeiten zu können sondern mit zwei Unterverzeichnisse. Sie Seiten sind auch nicht so aufgebaut um nur das CSS-File auszutauschen um die Darstellung anzupassen.

    Einfach gefragt, ist es mit PHP überhaupt möglich unterhalb des Root-Verzeichnisses relative Pfade zu benutzen? Über absolute Pfade kann ich keinen Ordner nach Bildern durchsuchen wenn ich alle z.B. in einer Galerie ausgeben will.


  • #2
    Wenn ich das richtig verstehe, dürfte das Problem darin bestehen, dass die andere Domain („m“) eben eine andere Domain ist. Falls ich das nicht richtig verstehe, wird das jetzt noch verwirrender als sowieso schon.

    allerdings hab ich jetzt das Problem dass ich nicht beide Unterordner für normale und mobile Seite synchron halten kann
    Du könntest vermutlich einen symbolischen Link vom einen Verzeichnis auf das andere setzen. (Das erfordert möglicherweise auch Webserver-Konfiguration. Ich kann es aus dem Kopf nicht sagen.)

    Eine Weiterleitung per Rewriting wäre vielleicht auch denkbar. (Von der einen Domain auf die andere, also 301 oder so. Etwas hässlich.)

    Wenn alle Stricke reißen, kannst du wahrscheinlich sogar ein PHP-Skript zwischenschalten (wieder per Rewriting – als Handler für „wenn nachgefragte Ressource nicht gefunden“), das die nachgefragte Ressource ($_SERVER['REQUEST_URI']) dann korrekt lokalisiert und per readfile() durchreicht.

    Synchronisation mit echten Kopien könntest du beispielsweise mit rsync durchführen, aber das ist in dem Fall wohl eher eine Krücke (doppelter Speicherverbrauch, muss bei jeder Änderung ausgeführt werden).

    Mit "../" kann ich dazu nicht tiefer als in das Rootverzeichnis gehen und somit keinen gemeinsamen Zugriffspunkt für Dateien beider Seiten haben.
    Hier meinst du in URLs, nehme ich an? Na ja, das liegt daran, dass die Daten auf (oder besser in?) verschiedenen Domains liegen. Du könntest bei den URLs das http://www.example.org/ vorne hinzufügen. Dann würde es klappen. Das kann aber Nachteile haben, was etwa Sessions und Cookies angeht.

    Anders gesagt:

    Liegt das Problem an falscher Pfadangabe im PHP-Script oder ist das einfach aufgrund der Zuordnung von Adresse zu einem Ordner gar nicht möglich?
    Letzteres. Document-Root ist Document-Root. Mit URLs kommst du im Dateisystem nicht höher. (Das ist ungefähr so, wie du auch nicht sagen kannst, dass du deine Umwelt ab jetzt vierdimensional wahrnimmst. Das ergibt vom Konzept her keinen Sinn.)

    Einfach gefragt, ist es mit PHP überhaupt möglich unterhalb des Root-Verzeichnisses relative Pfade zu benutzen?
    Warum sollte es das nicht sein?

    Du meinst vermutlich „oberhalb des Document-Root-Verzeichnisses“. Auch da ist die Antwort: Ja. Das sind dann eben Serverpfade (Dateisystem), keine URL-Pfade.

    Ich schätze, du meinst nicht PHP, sondern du meinst URL-Pfadangaben. Mit denen kommst du nicht aus der Domain raus beziehungsweise von deinem Host runter, wenn du nicht einen anderen Host (http://example.org/…) angibst.

    Über absolute Pfade kann ich keinen Ordner nach Bildern durchsuchen wenn ich alle z.B. in einer Galerie ausgeben will.
    Wieder anderes Thema, aber: Warum nicht? Letztlich ist jeder Pfad, der irgendwo ankommen soll, absolut. Relative Pfade ergeben nur in Relation zu einem bekannten Ausgangspunkt Sinn. Das ist etwa das Arbeitsverzeichnis oder etwa der aktuelle URL der im Browser dargestellten Seite. Darüber können dann absolute Pfade gebildet werden. Wenn ein System relative Pfade unterstützt, gibt es immer einen definierten Bezugspunkt. Das geht nicht anders.

    Vielleicht (allgemein zu den Pfaden) als Hintergrund: http://php-de.github.io/jumpto/pfade/

    Kommentar


    • #3
      Du könntest vermutlich einen symbolischen Link vom einen Verzeichnis auf das andere setzen. (Das erfordert möglicherweise auch Webserver-Konfiguration. Ich kann es aus dem Kopf nicht sagen.)
      Das ist genau der Knackpunkt. Nen einfachen Symlink machen "/var/www/mobile/images/" gemappt auf -> "/var/www/normal/images/" und dann alle Bilder in den Ordner rein und fertig. Da braucht man nichts konfigurieren.
      Zitat von derwunner
      "Ein FISI ist auf gut-deutsch der Netzwerker. Das heißt Du gehst rauß zum Kunden oder auf die Straße und verlegst Leitungen" - derwunner 2015

      Kommentar


      • #4
        Zitat von CrocoBlack Beitrag anzeigen
        Da braucht man nichts konfigurieren.
        FollowSymLinks muss zumindest Aktiviert sein.

        E: Bei Softlinks natürlich, Hardlinks funktionieren ja noch etwas anders.
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Ok, das mit dem Symlink hört sich am einfachsten und elegantesten an für mein Problem. Wäre ja dann sowas wie ne Verknüpfung des Ordners.

          Ich habe allerdings keinen ganzen Server sondern nur einen gewissen Webspace von hosteurope zur Verfügung. Dort geb ich nur den Pfad ein auf welchen die jeweilige Domain führen soll und gut ist. Muss mal testen ob ich das dann machen kann, mir hat mein Mittelklasse-Paket bzw. deren Einschränkungen bei dem Anbieter schon so manche Idee zerstört ^^ .

          Danke erstmal. War dann vielleicht falscher Bereich wo ich die Frage gestellt habe. Ist ja nicht direkt ein PHP-Problem wie ich das nun sehe.

          Kommentar

          Lädt...
          X