Jak zrobić przekierowanie 301 w php?

Aby zrobić przekierowanie 301 w PHP, możesz użyć funkcji header(). Należy pamiętać, że ta funkcja musi być wywoływana przed wyświetleniem jakiegokolwiek innego zawartości strony, ponieważ modyfikuje nagłówek HTTP odpowiedzi.

Oto przykład kodu, który przekierowuje użytkownika na inną stronę za pomocą przekierowania 301:

<?php
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: http://www.example.com/");
  exit();
?>

W powyższym przykładzie użyto dwóch nagłówków HTTP: „HTTP/1.1 301 Moved Permanently” i „Location”. Pierwszy z nich informuje przeglądarkę, że przekierowanie jest trwałe, a drugi podaje adres URL docelowego miejsca.

Ważne jest, aby pamiętać o zakończeniu skryptu po użyciu funkcji header() za pomocą instrukcji exit(), ponieważ w przeciwnym razie skrypt będzie nadal działać i może wygenerować nieoczekiwane rezultaty.

Rodzaje przekierowań http

W HTTP istnieje kilka rodzajów przekierowań, które są określane przez kody statusu HTTP. Oto kilka najczęściej stosowanych rodzajów przekierowań:

  1. Przekierowanie 301 (Moved Permanently) – informuje przeglądarkę, że zasoby, które są żądane, zostały trwale przeniesione na nowy adres URL. Przekierowanie 301 jest często stosowane, gdy zmieniasz adres URL strony lub przenosisz cały serwis na nowy adres.
  2. Przekierowanie 302 (Found) – informuje przeglądarkę, że zasoby, które są żądane, zostały tymczasowo przeniesione na nowy adres URL. Przekierowanie 302 jest często stosowane, gdy chcesz tymczasowo przenieść użytkowników na inną stronę, ale planujesz powrócić do oryginalnego adresu URL w przyszłości.
  3. Przekierowanie 303 (See Other) – informuje przeglądarkę, że zasoby, które są żądane, zostały przeniesione na nowy adres URL i że użytkownik powinien skorzystać z metody GET do pobrania zasobu z nowego adresu. Przekierowanie 303 jest często stosowane w połączeniu z formularzami internetowymi, aby uniknąć problemów związanych z powtórzeniem żądania POST.
  4. Przekierowanie 307 (Temporary Redirect) – informuje przeglądarkę, że zasoby, które są żądane, zostały tymczasowo przeniesione na nowy adres URL. Podobnie jak przekierowanie 302, przekierowanie 307 jest stosowane tylko tymczasowo, ale różni się od niego tym, że zachowuje metodę żądania oryginalnego adresu URL (np. POST).
  5. Przekierowanie 308 (Permanent Redirect) – informuje przeglądarkę, że zasoby, które są żądane, zostały trwale przeniesione na nowy adres URL. Podobnie jak przekierowanie 301, przekierowanie 308 jest trwałe