Aby przekierować użytkownika na inną stronę (szczególnie przydatne w pętli warunkowej), wystarczy użyć następującego kodu:
<?php
header('Location: mypage.php');
?>
W takim przypadku mypage.php
jest to adres strony, na którą chcesz przekierować użytkowników. Ten adres może być bezwzględny i może również zawierać parametry w tym formacie:mypage.php?param1=val1&m2=val2)
Ścieżka względna / bezwzględna
W przypadku ścieżek względnych lub bezwzględnych idealnie jest wybrać ścieżkę bezwzględną z katalogu głównego serwera (DOCUMENT_ROOT). Użyj następującego formatu:
<?php
header('Location: /directory/mypage.php');
?>
Jeśli strona docelowa znajduje się na innym serwerze, dołącz pełny adres URL:
<?php
header('Location: http://www.ccm.net/forum/');
?>
Nagłówki HTTP
Zgodnie z protokołem HTTP nagłówki HTTP muszą być wysyłane before
dowolnego rodzaju treści. Oznacza to, że żadne znaki nie powinny być nigdy wysyłane przed nagłówkiem - nawet puste miejsce!
Tymczasowe / stałe przekierowania
Domyślnie przedstawiony powyżej typ przekierowania jest tymczasowy. Oznacza to, że wyszukiwarki, takie jak wyszukiwarka Google, nie uwzględniają przekierowania podczas indeksowania.
Jeśli chcesz powiadomić wyszukiwarki, że strona została trwale przeniesiona do innej lokalizacji, użyj następującego kodu:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>
Na przykład ta strona ma następujący kod:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>
Po kliknięciu powyższego łącza nastąpi automatyczne przekierowanie do tej strony. Co więcej, jest to stałe przekierowanie (Status: 301 Przeniesiony na stałe). Tak więc, jeśli wpiszesz pierwszy adres URL w Google, nastąpi automatyczne przekierowanie do drugiego przekierowanego linku.
Interpretacja kodu PHP
Kod PHP umieszczony po nagłówku () zostanie zinterpretowany przez serwer, nawet jeśli użytkownik przejdzie na adres podany w przekierowaniu. W większości przypadków oznacza to, że potrzebujesz metody śledzenia header()
funkcji tej exit()
funkcji, aby zmniejszyć obciążenie serwera:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>