Per reindirizzare il visitatore su un'altra pagina (particolarmente utile in un ciclo condizionale), utilizzare semplicemente il seguente codice:
<?php
header('Location: mypage.php');
?>
In questo caso, mypage.php
è l'indirizzo della pagina a cui desideri reindirizzare i visitatori. Questo indirizzo può essere assoluto e può anche includere i parametri in questo formato:mypage.php?param1=val1&m2=val2)
Percorso relativo / assoluto
Quando si ha a che fare con percorsi relativi o assoluti, è ideale scegliere un percorso assoluto dalla radice del server (DOCUMENT_ROOT). Usa il seguente formato:
<?php
header('Location: /directory/mypage.php');
?>
Se la pagina di destinazione si trova su un altro server, includi l'URL completo:
<?php
header('Location: http://www.ccm.net/forum/');
?>
Intestazioni HTTP
Secondo il protocollo HTTP, è necessario inviare le intestazioni HTTP before
qualsiasi tipo di contenuto. Ciò significa che nessun personaggio dovrebbe mai essere inviato prima dell'intestazione, nemmeno uno spazio vuoto!
Reindirizzamenti temporanei / permanenti
Per impostazione predefinita, il tipo di reindirizzamento presentato sopra è temporaneo. Ciò significa che i motori di ricerca, come Ricerca Google, non terranno conto del reindirizzamento durante l'indicizzazione.
Se desideri informare i motori di ricerca che una pagina è stata spostata in modo permanente in un'altra posizione, utilizza il seguente codice:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>
Ad esempio, questa pagina ha il seguente codice:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>
Quando fai clic sul link sopra, verrai automaticamente reindirizzato a questa pagina. Inoltre, è un reindirizzamento permanente (Stato: 301 spostato in modo permanente). Pertanto, se digiti il primo URL in Google, verrai automaticamente reindirizzato al secondo link reindirizzato.
Interpretazione del codice PHP
Il codice PHP situato dopo l'intestazione () verrà interpretato dal server, anche se il visitatore si sposta all'indirizzo specificato nel reindirizzamento. Nella maggior parte dei casi, ciò significa che è necessario un metodo per seguire la header()
funzione della exit()
funzione al fine di ridurre il carico del server:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>