dclp FAQ

FAQ der Newsgroups de.comp.lang.php.*

 
  • Increase font size
  • Default font size
  • Decrease font size

Guter Code

Wie erzeuge ich mit PHP einen Redirect auf eine andere Seite?

E-MailDruckenPDFLesezeichen anlegen: Du musst dich einloggen um ein Lesezeichen für diesen Beitrag anzulegen. Es wird deiner persönlichen Lesezeichenliste hinzugefügt.

Um einen Redirect zu erzeugen, muss man den HTTP-Header Location senden und dort die neue URL angeben. Zum Senden von HTTP-Headerzeilen verwendet man die PHP-Funktion header(). Diese Funktion kann nur dann verwendet werden, wenn PHP noch keinen HTTP-Body ausgegeben hat, wenn also weder Fehlermeldungen, Leerzeilen, Leerzeichen noch HTML ausgegeben worden sind.

// Redirect-Ziel
header("Location: http://www.ziel.de/zielseite.html");

Wichtig: RFC 2616 schreibt im Abschnitt 14.30 Location eine sog. absoluteURI vor, d.h. die Adresse muss mit http:// beginnen, relative Anweisungen à la "Location: index.html" sind nicht standardkonform! Manche Browser sind zwar so tolerant, relative Angaben zu verstehen und in der Lage, selbständig die absolute Adresse zu ermitteln, aber verlassen kann man sich darauf nicht; die PHP-Funktion fopen() z.B. scheitert an derart ungültigen Location-Angaben.

Wie erzeuge ich mit PHP einen Redirect auf eine andere Seite?
http://php-faq.de/q-http-redirect.html
 

Login