Vor einer Weile änderten alle Browser ihr Verhalten und begannen 301 Redirects zwischenzuspeichern. Ich würde gerne wissen, wie man eine 301 Weiterleitung macht, die nicht in PHP zwischengespeichert wird?
301 ist eine permanente Umleitung, daher ist Caching sinnvoll. Wenn die Weiterleitung nicht dauerhaft ist, verwenden Sie 307 (temporäre Weiterleitung), 302 (gefunden) oder 303 (siehe andere).
Hier für die entsprechenden Anwendungsfälle.
Um die Unterschiede zwischen diesen drei zu erläutern:
domain.com/news/latest
eine 307-Weiterleitung zum neuesten Nachrichtenartikel domain.com/news/article-594873
durchführen. Da diese vorübergehende Weiterleitung für eine Weile bestehen bleiben kann (dieser Artikel kann für mehrere Stunden der letzte sein), können Browser die Weiterleitung zwischenspeichern. Um den Grad ihrer Verwendung zu steuern, verwenden Sie Cache-Steuerkopfzeilen. domain.com/news
" senden, wird möglicherweise ein neuer Nachrichtenartikel erstellt und eine 303-Weiterleitung an domain.com/news/article-978523
bereitgestellt. Da eine andere POST-Anfrage dazu führt, dass ein völlig anderer, neuer Artikel erstellt wird, kann er nicht zwischengespeichert werden. Da Sie speziell nach PHP gefragt haben:
%Vor%Sie können Agenten auch daran hindern, eine 301 zu cachen, wenn Sie müssen, indem Sie die obigen Cache-Control-Header wie folgt verwenden:
%Vor%oder einfach hinzufügen
%Vor%Ein HTTP-Statuscode 301 ohne Zwischenspeicherung kann zur URL-Kanonisierung verwendet werden, während die Verfolgungsfunktionalität beibehalten wird.
Um zu verhindern, dass eine 301-Weiterleitung zwischengespeichert wird, setzen Sie einfach die Cache-Steuer-Header, dann können Sie die Weiterleitung rückgängig machen und Clients (Bot und Browser) werden nicht mehr umgeleitet.
%Vor%Dies ist nützlich, wenn Browser die URL in Lesezeichen und Bots aktualisieren sollen, um ihren Index zu aktualisieren, aber trotzdem in der Lage sind, sie zu verfolgen oder die Weiterleitung rückgängig zu machen, indem sie zur ursprünglichen URL zurückgeleitet werden, ohne Endlosschleifen oder anderen Unsinn zu verursachen. p>
Dies bedeutet in keiner Weise, dass der Code 301 für alle Weiterleitungen verwendet werden muss, im Gegenteil, verschiedene Arten von Weiterleitungen haben unterschiedliche Statuscodes , die Core Xii zusammengefasst haben.
Tags und Links php http redirect http-status-code-301