Mona: Weiterleitung

Moin zusammen!

Ich habe ein Problem mit der Weiterleitung header...

Die Weiterleitung steht in einer Datei, welche per include in alle Dateien des Site eingebunden wird. Nach einer Prüfung wird dann zur entsprechenden Seite weitergeleitet.

Da die Datei eingebunden wird, wollte ich den Pfad so angeben: /ordner/seite.php
Das klappt aber nicht, Fehlermeldung: failed to open stream
Dann dachte ich mir, mit http://www.meineseite.de/ordner/seite.php
müsste es gehen. Auch hier erscheint eine Fehlermeldung: Server erlaubt diese Weiterleitung nicht.

Und nu? Wie gebe ich den Pfad an?

Danke für Eure Hilfe!

Viele liebe Grüße

  1. Sorry, ich bin wohl noch etwas müde! Es geht nicht um die Weiterleitung, sondern um das Einbinden der Datei via include.

    In der Datei, welche ich in alle Seiten einbinde, wird auch eine eingebunden. Dies geht aber nicht mit absoluter Pfadangabe...

  2. Hi Mona!

    Und nu? Wie gebe ich den Pfad an?

    Vollständig, so wie im letzten Beispiel.

    Wie sieht dein Code aus?

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  3. Da die Datei eingebunden wird, wollte ich den Pfad so angeben: /ordner/seite.php
    Das klappt aber nicht, Fehlermeldung: failed to open stream
    Dann dachte ich mir, mit http://www.meineseite.de/ordner/seite.php
    müsste es gehen. Auch hier erscheint eine Fehlermeldung: Server erlaubt diese Weiterleitung nicht.

    Du musst zwischen der Sicht des Nutzers (http) und der des Servers (Dateisystem) unterscheiden. Mit http://irgendwas bist du immer auf dem falschen Weg. Dein Fehler liegt vermutlich an dem '/' vor dem Ordner - das signalisiert, dass vom root des Servers aus nach dem Ordner gesucht werden soll.

    Christian

    1. Du musst zwischen der Sicht des Nutzers (http) und der des Servers (Dateisystem) unterscheiden.

      Ja.

      Mit http://irgendwas bist du immer auf dem falschen Weg.

      Nein (bzw. bei < PHP 5.2). Auch wenn es nicht sonderlich schlau ist, wenn man nur eine lokale Datei Einbinden möchte.

      Dein Fehler liegt vermutlich an dem '/' vor dem Ordner - das signalisiert, dass vom root des Servers aus nach dem Ordner gesucht werden soll.

      Nicht ganz, das "/" signalisiert nicht zwangsläufig das Wurzelverzeichnis des Servers - das hängt auch von open_basedir ab.

      Übrigens bin ich immer noch der Meinung, dass include() die falsche Wahl ist und immer zugunsten von require() entschieden werden sollte.

      1. Hello,

        Dein Fehler liegt vermutlich an dem '/' vor dem Ordner - das signalisiert, dass vom root des Servers aus nach dem Ordner gesucht werden soll.

        Nicht ganz, das "/" signalisiert nicht zwangsläufig das Wurzelverzeichnis des Servers - das hängt auch von open_basedir ab.

        open_basedir regelt nur, ab welcher Stelle in den expandierten Pfad eingestiegen werden darf.
        Wenn ein Filesystem-Zugriff (also einer ohne Scheme im Funktionsargument) stattfinden soll, wird ein '/' am Anfang immer zum Vergleich von der Filesystemwurzel aus führen. Der expandierte Pfad (von Links bereinigt) aus dem Funktionsaufruf muss also von der Filesystemwurzel vorhanden und
        zugänglich sein für den Aufrufer (das Script).

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Wenn ein Filesystem-Zugriff (also einer ohne Scheme im Funktionsargument) stattfinden soll, wird ein '/' am Anfang immer zum Vergleich von der Filesystemwurzel aus führen.

          In der Tat, danke für die Korrektur.