Redirecionamento de páginas em PHP
Para fazer com que o usuário ao acessar um determinado endereço do seu site seja redirecionado para outro endereço, dentro ou fora do seu site, você deverá utilizar o parametro location: da função header(). Abaixo segue um exemplo de uso básico desta função:
<?php
#abaixo, criamos uma variavel que terá como conteúdo o endereço para onde haverá o redirecionamento:
$redirect = "http://www.locaweb.com.br";
#abaixo, chamamos a função header() com o atributo location: apontando para a variavel $redirect, que por
#sua vez aponta para o endereço de onde ocorrerá o redirecionamento
header("location:$redirect");
?>
|
Da maneira como esta acima, sempre que o usuário acessar a página que contém o código acima, ele será redirecionado automaticamente para http://www.locaweb.com.br.
O redirecionamento não se restringe a endereços absolutos de sites, sendo que você também pode redirecionar para pastas dentro do seu FTP, ou mesmo arquivos que estão na mesma pasta utilizando um caminho relativo a ela.
Para melhor exemplificar isto, vamos criar um script que irá capturar o endereço pelo qual esta acessado, e redirecionar o usuário para outro conforme este endereço de acesso.
<?php
#atribui para a váriavel $servidor o conteúdo da váriavel de ambiente $_SERVER["SERVER_NAME"], que por sua vez
#contém o endereço pelo qual o site foi acessado
$servidor = &$_SERVER["SERVER_NAME"];
switch ($servidor) { #verifica a variavel $servidor
case "cliente.seudominio.com.br": #se $servidor igual cliente.seudominio.com.br
unset($servidor); #apaga a variavel $servidor, para otimizar o uso de memória uma vez que ela não será mais usada
header("location:http://seudominio.com.br/cliente"); #e faz um redirect para http://seudominio.com.br/cliente
break;
case "fornecedores.seudominio.com.br":
unset($servidor);
header("/fornecedores"); #redireciona para o diretorio fornecedores, dentro da raiz (/) do site
break;
case "adm.seudominio.com.br":
unset($servidor);
header("location:../adm"); #direciona para a pasta adm, que esta um diretório abaixo (../) do atual
break;
case "diretoria.seudominio.com.br":
unset($servidor);
header("location:diretoria.html"); #direciona para o arquivo diretoria.html dentro do mesmo diretorio do arquivo atual
break;
default: #caso não seja nenhum dos endereços acima
header("location:/"); #direciona para a raiz do site
break;
}
?>
|
Lembrando que para o script acima funcionar, todas as entradas usadas no script deverão estar criadas no DNS. Caso tenha duvida de como fazer isto, leia este documento.
Veja também
Links
|