Muvon53: Dynamische Weiterleitung

Hallo!

Ich möchte gerne wissen wie ich eine dynamische Weiterleitung (oder wie man das nennen könnte) erstellen kann.

Konkret also, dass der Besucher je nach dem woher er kommt (referer) auf eine bestimmte seite weitergeleitet wird.

Wie geht das?

THX im Voraus

  1. Hallo Muvon53,

    Konkret also, dass der Besucher je nach dem woher er kommt (referer) auf eine bestimmte seite weitergeleitet wird.

    In $_SERVER["HTTP_REFERER"] steht der Referer drinnen. Du musst nur noch einen Location-Header senden, je nachdem, wohin Du ihn weiterleiten willst. In http://php3.de/manual/de/function.header.php steht ein Beispiel zum Location-Header.

    Grüße,

    Christian

    --
    Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                          -- Albert Einstein
  2. Tach auch!

    Konkret also, dass der Besucher je nach dem woher er kommt (referer) auf eine bestimmte seite weitergeleitet wird.

    if(Bedingung1){
     header("Location: http://www.bestimmteSeite1.de")
    }
    elseif(Bedingung2){
     header("Location: http://www.bestimmteSeite2.de")
    }
    else...

    Die Abfrage muss, da sie den HTTP-Header betrifft, _vor_ der ersten HTML-Ausgabe stehen, also noch vor dem ersten echo- oder print-Befehl. Das mit dem Referer ist aber schwierig, da der nicht immer korrekt übertragen und somit nicht zuverlässig ausgewertet werden kann. Hab mein Opera z.B. so eingestellt, dass ich auf alle Fälle in der else-Anweisung landen würde. Also musst Du Dir was gescheites überlegen, _wohin_ Du die Besucher umleitest...

    Gruss
    Lemmy
    http://www.olison.com

    --
    Nachts ist es kälter als draussen und durch den Wald kürzer als zu Fuss...
  3. Danke für die bisherigen Antworten! Ich habe nun also folgenden code:

    <?php
    if(ereg("^http://.*.hier.ch.*",$_SERVER["HTTP_REFERER"])) { // wenn der Besucher von hier.ch kommt
          header("Location: http://www.hierhin.de/"); // dann nach http://www.hierhin.de/ weiterleiten
    } elseif(ereg("^http://.*.dort.de.*",$_SERVER["HTTP_REFERER"])) { // wenn ersteres nicht zutrifft sondern der Besucher von dort.de kommt
          header("Location: http://www.dorthin.de/gruen=1"); // dann nach http://www.dorthin.de/ weiterleiten
    }
    ?>

    Wie kann ich den nun erweitern, dass bestimmt wird was passieren soll, wenn kein, oder ein anderer Referer übermittelt wird?

    1. Wie kann ich den nun erweitern, dass bestimmt wird was passieren soll, wenn kein, oder ein anderer Referer übermittelt wird?

      Wie schon erwähnt: else header("Location: http://blabla.bla");

      Gruss
      Lemmy
      http://www.olison.com

      --
      Nachts ist es kälter als draussen und durch den Wald kürzer als zu Fuss...