FOL9000

Redirect auf einer Webseite oder header()

von

Ok, der Titel dieses Beitrags ist nicht wirklich gut. Deswegen gleich zum Problem: Was tun, wenn man auf einer Webseite einen Redirect zu einer anderen Adresse braucht, PHP’s header() aber nicht nutzen kann? Die header()-Funktion hat nämlich einen kleinen Nachteil: Man kann sie nicht anwenden, wenn bereits Daten an den Browser weggeschickt wurden. Man muss sie also immer als erstes anwenden. Stellt man also mit auf der Webseite fest, dass es einen Redirect braucht, kommt man so nicht weiter. Mit ein wenig JavaScript klappt es aber doch.

Mit einem kleinen Trick geht ein Redirect mitten auf der Seite ganz einfach. Statt den Redirect mit PHP-Mitteln durchzuführen, nutzt man JavaScript und ändert die window.location. Die folgende PHP-Funktion setzt dort, wo sie auf der Seite aufgerufen wird eine Umleitung auf eine andere Seite ein.

function redirect($url) {
    echo "<script type='text/javascript'>window.location= '$url' </script>";
}

Es ist schon klar: Ein richtiger Redirect mit entsprechendem Status-Code etc. ist das nicht. Und so richtig sauber aussehen tut’s auch nicht. Aber wenn das nicht so wichtig ist, kommt man auf diese Weise schnell ans Ziel bzw. richtiger: ans andere Ziel.

Kommentare sind geschlossen.