Dynamische Weiterleitung
Muvon53
- php
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
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
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
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?
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