Podziel się:

Czasem zachodzi potrzeba przeniesienia strony (lub jej części) na nowy adres URL. Oczywiście, można to zrobić za pomocą pliku .htaccess, gdzie wskażesz odpowiednie reguły dla przekierowania. Czasem jednak wygodniej jest to zrobić z użyciem PHP.

Redirect 301 PHP – przekierowanie dzięki funkcji Header

  1. <?php
  2. header(„HTTP/1.1 301 Moved Permanently”);
  3. header(„Location: http://www.NowyAdres.pl/NowaPodstrona/Przekierowanie.html”);
  4. ?>


Jak działa przekierowanie 301 i po co się je stosuje

Przekierowanie 301 (Redirect 301, Moved Permanently) wskazuje wyszukiwarkom, że strona została przeniesiona na stałę pod inny adres. Wyszukiwarka zapamiętuje nowy adres, kasując stary i usuwając go z indeksu. Z tym typem przekierowania trzeba uważać, żeby nie wyczyścić części stron, które tymczasowo nie są opublikowane.

Domyślnie, wpisując samo:

  1. <?php
  2. header(„Location: http://www.NowyAdres.pl/NowaPodstrona/Przekierowanie.html”);
  3. ?>


Jest stosowane przekierowanie typu 302 (Redirect 302, Moved Temporarily). Jest to przekierowanie tymczasowe, które świadczy o chwilowej nieobecności starego adresu. Nie ma wpływu na stan adresu w indeksie wyszukiwarki.

Jeśli plik z kodem php zawiera skrypt poza funkcją Header, warto odciąć wykonywanie reszty, stosując np. funkcję exit(). Funkcja Header dopisuje jedynie nagłówek do zwracanej strony. To samo tyczy się kodu przed funkcją Header. Jeśli wyświetlimy choćby jeden najmniejszy znak, przekierowanie nie będzie możliwe, gdyż nagłówki już zostaną wysłane. Otrzymamy wtedy piękne powiadomienie, że „Headers already sent”.

Zobacz pełną specyfikację funkcji Header w oficjalnej dokumentacji PHP: http://php.net/manual/pl/function.header.php