Redirecionamento de URLs
O redirecionamento de URLs permite que, ao acessar um domínio ou página, o usuário seja automaticamente enviado para outro endereço.
Isso pode ser feito de diferentes formas, dependendo da necessidade: servidor, HTML, JavaScript ou linguagem backend.
1. Redirecionamento via .htaccess (recomendado)
Esse é o método mais eficiente, pois ocorre no servidor.
Forçar HTTPS com WWW
Use no arquivo .htaccess:
RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ https://www.site.com.br/$1 [R=301,L]
Esse código:
-
Força HTTPS
-
Força o uso de "www"
-
Mantém o restante da URL
2. Redirecionamento via HTML (Meta Refresh)
Método simples, feito diretamente no HTML:
<html> <head> <title>Título do site</title> <meta http-equiv="refresh" content="1;url=http://www.site_a_ser_redirecionado.com"> </head> <body> </body> </html>
Observações:
-
O número "1" representa o tempo em segundos antes do redirecionamento
-
Alguns navegadores podem não aceitar valor "0"
-
O endereço na barra será alterado para o destino
3. Redirecionamento via JavaScript
Usado quando o redirecionamento depende de alguma ação ou evento:
<script> window.location.href = "http://www.site_a_ser_redirecionado.com"; </script>Características:
-
Pode ser executado após clique ou evento
-
Não oculta a URL de destino
-
Depende do navegador do usuário
4. Redirecionamento via PHP
Método comum no backend:
<?php header("Location: http://www.site_a_ser_redirecionado.com"); exit; ?>
Importante:
-
Não pode haver nenhuma saída antes (HTML, echo, espaços, etc.)
-
Caso contrário, ocorrerá erro: "headers already sent"
Alternativa (menos recomendada):
<?php echo '<meta http-equiv="refresh" content="0;url=http://site.com.br">'; ?>
5. Redirecionamento 301 (permanente - SEO)
O redirecionamento 301 informa aos mecanismos de busca que a URL mudou permanentemente.
PHP (301)
<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.meusite.com.br"); exit; ?>
.htaccess (arquivo específico)
Redirect 301 /antigo/arquivo_antigo.htm http://www.seusite.com.br/arquivo_novo.htm
ASP clássico
<% Response.Status = "301 Moved Permanently" Response.AddHeader "Location", "http://www.meusite.com.br/" %>
ASP.NET
<script runat="server"> private void Page_Load(object sender, System.EventArgs e) { Response.Status = "301 Moved Permanently"; Response.AddHeader("Location","http://www.meusite.com.br"); } </script>
.NET (Redirect simples)
<% Response.Redirect("http://novo-dominio.com.br") %>
6. Boas práticas
-
Sempre que possível, use redirecionamento no servidor (.htaccess ou backend)
-
Use 301 para mudanças permanentes
-
Evite usar meta refresh e JavaScript para SEO
-
Teste os redirecionamentos após configurar
-
Evite múltiplos redirecionamentos em cadeia
Conclusão
O melhor método depende do seu objetivo:
-
SEO e performance: .htaccess ou 301
-
Controle por lógica: PHP ou backend
-
Simplicidade: HTML ou JavaScript