Para redirecionar o visitante para outra página (particularmente útil em um loop condicional), basta usar o seguinte código:
<?php
header('Location: mypage.php');
?>
Nesse caso, mypage.php
é o endereço da página para a qual você deseja redirecionar os visitantes. Este endereço pode ser absoluto e também pode incluir os parâmetros neste formato:mypage.php?param1=val1&m2=val2)
Caminho relativo / absoluto
Ao lidar com caminhos relativos ou absolutos, é ideal escolher um caminho absoluto da raiz do servidor (DOCUMENT_ROOT). Use o seguinte formato:
<?php
header('Location: /directory/mypage.php');
?>
Se alguma vez a página de destino estiver em outro servidor, inclua o URL completo:
<?php
header('Location: http://www.ccm.net/forum/');
?>
Cabeçalhos HTTP
De acordo com o protocolo HTTP, os cabeçalhos HTTP devem receber before
qualquer tipo de conteúdo. Isso significa que nenhum caractere deve ser enviado antes do cabeçalho - nem mesmo um espaço vazio!
Redirecionamentos temporários / permanentes
Por padrão, o tipo de redirecionamento apresentado acima é temporário. Isso significa que os mecanismos de pesquisa, como a Pesquisa Google, não levarão em conta o redirecionamento durante a indexação.
Se você deseja notificar os mecanismos de pesquisa que uma página foi permanentemente movida para outro local, use o seguinte código:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>
Por exemplo, esta página possui o seguinte código:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>
Quando você clica no link acima, você é automaticamente redirecionado para esta página. Além disso, é um redirecionamento permanente (Status: 301 Movido Permanentemente). Portanto, se você digitar o primeiro URL no Google, será automaticamente redirecionado para o segundo link redirecionado.
Interpretação do código PHP
O código PHP localizado após o header () será interpretado pelo servidor, mesmo que o visitante se mova para o endereço especificado no redirecionamento. Na maioria dos casos, isso significa que você precisa de um método para seguir a header()
função da exit()
função para diminuir a carga do servidor:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>