0

Como fazer redirecionamento 301 com php?

criado por Nelson em 25/03/2010 7:39pm
É o seguinte pessoal, queria saber se tem como redirecionar um site deste tipo: http://faxteleletronica.com para http://www.faxteleletronica.com usando PHP, para que ele não seja punido por conteúdo duplicado.
E se tiver jeito, onde ficará o código?
Ou ainda, se é melhor usar o .htaccess?

Lista de Respostas:

+1
25/03/2010 10:22pm
(~14 anos atrás)
Redirecionamento em PHP é usando a função header:
<?php
header('Location: http://www.faxteleletronica.com/&#039;);
exit(0);

Vejo duas soluções usando a função:

#1 Você pode configurar o servidor para que o host virtual "faxteleletronica.com" tenha um diretório raiz e o "www.faxteleletronica.com" tenha outro. Daí no diretório de "faxteleletronica.com" você só colocaria um index.php com este código.

#2 Os arquivos do sistema checariam o valor de $_SERVER['SERVER_NAME'] e, caso não tivesse o "www", você faria o redirecionamento.

Ambas as soluções eu não acho corretas. O melhor seria você configurar o servidor adequadamente. Pode ser com o htaccess. Veja este link:
http://www.webconfs.com/how-to-redirect-a-webpage.php

+1
26/03/2010 6:35pm
(~14 anos atrás)
Marcos Regis respondeu:
Se o que quer for realmente usar o HTTP 301 (Movido permanentemente) pode-se usar isso

No PHP

<?php
// redirecionamento permanente
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.faxteleletronica.com");
exit();

?>

Com Rewrite
RewriteCond %{HTTP_HOST} !^www [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)