Eine simple Variante für permanent oder temporäre Weiterleitungen realisiert man über den $http_response_code Parameter im header() .
// 301 Moved Permanently header("Location: /foo.php",TRUE,301); // 302 Found header("Location: /foo.php",TRUE,302); header("Location: /foo.php"); // 303 See Other header("Location: /foo.php",TRUE,303); // 307 Temporary Redirect header("Location: /foo.php",TRUE,307);
Der HTTP-Statuscode ändert die Art und Weise, wie Browser und Robots mit Weiterleitungen umgehen.
Wenn Sie also header (Location 🙂 verwenden, empfiehlt es sich, den Statuscode festzulegen.
Browser fordern eine 307-Seite typischerweise jedes Mal erneut an, speichern eine 302-Seite für die Sitzung zwischen und cachen eine 301-Seite länger oder sogar unbegrenzt.
Suchmaschinen übertragen typischerweise das Seitenranking (page rank) an den neuen Ort der 301 Weiterleitungen, jedoch nicht für 302, 303 oder 307 Weiterleitungen.
Hinweis:
Wenn der Statuscode nicht angegeben ist, wird standardmäßig die Kopfzeile (‘Location:’) auf 302 gesetzt.
Beispiel:
Status:
301 Moved Permanently
Client request
GET /index.php HTTP/1.1 Host: www.example.org
Server request
HTTP/1.1 301 Moved Permanently Location: