![Ilustração de uma página sendo redirecionada para outra](https://tudosobrehospedagemdesites.com.br/site/wp-content/uploads/2018/05/redirecionamento-de-dominios-v2_topo-728x273.png)
Se você possui um ou mais domínios registrados, existem grandes chances de já ter se deparado com a necessidade de redirecionar um domínio para algum lugar. O redirecionamento de um domínio pode ser necessário em uma série de situações, como por exemplo, quando registramos um domínio adicional para um site, quando alteramos a URL (endereço) de uma página, e muitas outras.
Neste artigo, vamos conhecer as situações mais comuns nas quais o redirecionamento se faz necessário. E também ver diversas formas de fazer esses redirecionamentos.
Se quiser ir direto ao ponto, consulte a lista abaixo e clique no assunto que te interessa para ver mais detalhes.
Quando redirecionar um domínio
Existem alguns cenários nos quais pode ser necessário redirecionar um domínio. Conheça os principais:
- Você registrou um domínio adicional para o seu site e deseja que ele aponte para o site principal.
- Você alterou o endereço de uma página (URL) no seu site e deseja que o endereço antigo redirecione para o endereço novo.
- Você registrou um domínio e quer fazer com que ele aponte para um endereço qualquer, como por exemplo uma página em uma rede social.
- Você deseja definir um padrão de URL para o seu site, como por exemplo, fazendo com que todas as páginas tenham www no endereço ou usem o protocolo seguro HTTPS.
Se você se identificou com alguma das situações acima, está no lugar certo. Veremos, mais adiante, como configurar estes redirecionamentos. Mas primeiro, vamos entender algumas questões importantes sobre o assunto, e que podem causar confusão.
Redirecionamento de domínios e DNS
É importante esclarecer que os redirecionamentos que vamos abordar neste artigo não têm relação com o apontamento ou configuração de DNS. Ou seja, não falaremos de como configurar ou apontar um domínio para uma hospedagem. Aqui estamos falando exclusivamente da situação na qual o usuário acessa o endereço A e é direcionado para o endereço B (ex.: dominio-um.com redireciona para dominio-dois.com).
Alterações nas configurações de DNS de um domínio podem causar redirecionamentos, mas seu propósito é diferente dos citados aqui. Aqui vamos tratar de redirecionamentos no servidor de hospedagem e nas páginas de um site.
Se você deseja saber como realizar configurações de apontamento em nível de DNS, consulte o artigo O que é DNS e qual o seu papel na internet.
O que é necessário para redirecionar um domínio
Antes de realizar qualquer redirecionamento, tenha em mente que os seguintes passos devem realizados:
- Registrar um domínio (caso ainda não o tenha)
- Contratar uma hospedagem (com algumas exceções)
- Apontar o domínio (DNS) para a hospedagem
- Fazer o redirecionamento
Vamos entender melhor estes itens a seguir:
Registrar um domínio
Ao registrar um domínio, você garante o direito de uso do mesmo. Mas para que ele funcione, é preciso direcioná-lo para um servidor. O registro tem o prazo mínimo de um ano e pode ser renovado indefinidamente pelo proprietário. Registrar um domínio é o primeiro passo antes de realizar qualquer ação.
Contratar uma hospedagem (com exceções)
O servidor de hospedagem é o computador que receberá o tráfego de usuários que acessarem o domínio em questão. É nele que as regras de redirecionamento vão “morar”.
Mas saiba que nem sempre a hospedagem pode ser necessária para fazer um redirecionamento. Em geral, as empresas que registram domínios não oferecem o recurso de redirecionamento sem que o domínio seja apontado para uma hospedagem. Como exemplo de exceção, podemos citar o Registro.br, que possui esta funcionalidade em seu painel de controle. A ferramenta permite fazer redirecionamentos simples, como apontar o domínio para uma rede social, por exemplo.
Apontar o domínio (DNS) para a hospedagem
Se o local que você registrou o domínio não oferece a possibilidade de redirecionamento sem servidor, então é necessário apontar o DNS do domínio para um servidor de hospedagem. Isso é feito alterando-se as entradas de DNS do domínio.
Fazer o redirecionamento
Uma vez que o domínio está registrado e apontando para um servidor de hospedagem, o redirecionamento pode ser configurado. O procedimento pode ser feito de diversas maneiras. Ele pode ser feito diretamente no servidor, alterando-se algumas configurações ou nos próprios arquivos que compõem o site.
A técnica escolhida para o redirecionamento deve levar em consideração alguns fatores. Primeiramente, é necessário ter em mente o que se deseja redirecionar (apenas uma página, um domínio inteiro, um formato de URL, entre outros). Também deve-se levar em conta o grau de conhecimento da pessoa que fará o redirecionamento. Muitos painéis de controle de hospedagem oferecem telas amigáveis para configuração de redirecionamentos. Mas um programador pode achar mais simples e eficiente alterar um arquivo de configurações do servidor.
Vamos ver a seguir alguns possíveis cenários e maneiras de fazer redirecionamentos.
Tipos de redirecionamento mais comuns
Como falamos no início do artigo, a técnica escolhida dependerá de diversos fatores, mas principalmente do tipo de redirecionamento que se deseja fazer.
Alguns cenários comuns de redirecionamento incluem:
- Redirecionar a página A para a página B (ex.: site.com/pagina-a -> site.com/pagina-b).
- Redirecionar o domínio A para o domínio B (ex.: site-a.com -> site-b.com).
- Redirecionar o domínio A para o domínio B preservando suas URLs (ex.: site-a.com/contato -> site-b.com/contato)
- Redirecionar um formato de URL para outro (ex.: site.com -> www.site.com).
Além disso, os redirecionamentos podem informar ao navegador e aos buscadores a natureza da mudança. Existem diversas classificações para redirecionamentos, mas os mais usados são:
- Redirecionamentos permanentes (código 301)
- Redirecionamentos temporários (código 302)
Não vamos entrar em muitos detalhes sobre a natureza do redirecionamento, mas tenha em mente que, se a mudança de domínio será de longo prazo, opte pelo redirecionamento permanente, ou 301. Este redirecionamento garante que os mecanismos de busca, como o Google, vão “entender” que a página ou domínio em questão possui um novo endereço.
Como redirecionar um domínio ou página
Agora vamos abordar algumas das diversas técnicas que permitem redirecionar um domínio, ou apenas uma página, para outro endereço.
Redirecionamento via painel de controle de hospedagem
Redirecionamentos de domínio e página podem ser complexos, principalmente para quem não é da área. Além disso, configurar um redirecionamento pode ser uma operação delicada, considerando que ela pode alterar completamente o funcionamento de um site. Se algum erro for cometido, as consequências podem ser ruins, podendo até deixar o site fora do ar.
Por isso, muitas empresas oferecem a possibilidade de configurar redirecionamentos diretamente no painel de controle da hospedagem. Vamos conhecer algumas a seguir.
Redirecionamentos na HostGator
Redirecionamentos na HostGator podem ser feitos no painel de controle cPanel, em uma área chamada Redireciona. É possível escolher o tipo de redirecionamento (permanente ou temporário) e se ele vai afetar um domínio específico ou todos. Veja as instruções para redirecionamento de URLs nesta página da HostGator.
Redirecionamentos na GoDaddy
Os planos de hospedagem de sites da GoDaddy oferecem o cPanel para administração do serviço. Por isso, a mesma opção para redirecionar um domínio encontrada na HostGator está disponível na GoDaddy. Apenas o nome da opção é um pouco diferente. No cPanel da GoDaddy, busque pelo ícone Redirecionamentos e você verá a página de configuração. Para saber como configurá-lo, acesse esta página (instruções em inglês).
Redirecionamentos na Hostinger e WebLink
A Hostinger e a WebLink são empresas do mesmo grupo e oferecem serviços semelhantes. Ambas possuem planos de hospedagem com painel de controle próprio ou com o cPanel. O painel de controle próprio da Hostinger possui a função de redirecionamento e as instruções para a configuração estão nesta página. Para a WebLink, veja as instruções aqui. Para as hospedagens cPanel, o procedimento é semelhante ao encontrado na HostGator e na GoDaddy.
Redirecionamentos na Locaweb, UOL Host e KingHost
As empresas de hospedagem Locaweb, UOL Host e KingHost não oferecem a opção de redirecionar um domínio pelo painel de controle da hospedagem. Estas empresas recomendam que os redirecionamentos sejam realizados através de configurações no servidor ou no código-fonte do site.
Se você possui um site em uma destas empresas e deseja configurar um redirecionamento, veja abaixo diversas formas de realizar a configuração e escolha a mais adequada. O funcionamento das configurações que mostraremos a seguir está relacionado ao servidor e/ou à linguagem de programação e independem da empresa escolhida.
Redirecionamento de domínios e páginas via CloudFlare
O CloudFlare é um serviço criado com o objetivo de otimizar o desempenho/velocidade de sites e oferecer proteção contra spam e outras ameaças virtuais. A plataforma evoluiu sobremaneira desde a sua concepção e oferece uma gama de serviços bastante úteis e necessários para site e aplicações.
Através do painel de regras de página (Page Rules), é possível configurar diversos tipos de de redirecionamentos no CloudFlare, dos mais simples até os bastante complexos.
Para saber mais, veja este tutorial que explica como redirecionar um domínio no CloudFlare gratuitamente a necessidade de uma hospedagem de sites.
Redirecionamento em servidores Linux com Apache (via .htaccess)
Segundo dados do W3 Techs, a maioria dos sites ativos na internet utiliza o servidor web Apache para gerenciar suas requisições. Diversas configurações do Apache podem ser realizadas através da manipulação do arquivo .htaccess. Este arquivo é distribuído e pode ser adicionado apenas nos diretórios onde se deseja criar uma regra.
Para criar uma regra de redirecionamento em uma hospedagem com o Apache (geralmente hospedagens Linux), localize o diretório que corresponde à raiz do seu domínio e crie um arquivo de texto com o nome .htaccess (caso não exista). Em seguida, acrescente o código correspondente ao que deseja. Abaixo estão alguns exemplos de redirecionamentos que podem ser adaptados por usuários de hospedagens com Apache.
De uma página para outra:
Redirect 301 /pagina-antiga http://www.seudominio.com.br/pagina-nova
Neste exemplo, após o comando “Redirect 301”, deve-se informar a página de origem, sem o domínio (ex.: /pagina-antiga). Insira um espaço após a página de origem e depois informe a URL completa de destino, incluindo o http:// (ex.: http://www.seudominio.com.br/pagina-nova). Se o redirecionamento for temporário, basta alterar o Redirect para 302.
Após a inclusão do código, salve o arquivo e envie-o para o servidor. Depois acesse o endereço da página antiga para confirmar que o redirecionamento funciona. Pode ser necessário limpar o cache do navegador. Para facilitar o teste, acesse o endereço usando o modo “navegação anônima” do navegador. Isso evitará que o cache armazenado no navegador afete o redirecionamento.
De um domínio para outro:
RewriteEngine on RewriteCond %{HTTP_HOST} ^siteantigo.com.br$ RewriteRule (.*) http://www.novosite.com.br/$1 [R=301,L]
Esta regra informa que qualquer requisição a um endereço será redirecionada para o mesmo endereço, mas no novo domínio. Assim, ao acessar, por exemplo, siteantigo.com.br/pagina1, você será redirecionado para novosite.com.br/pagina1. Este redirecionamento é bastante utilizado se um site mudou de endereço, mas conserva a mesma estrutura de URLs. Em cenários assim, é muito importante configurar um redirecionamento corretamente, para que o Google e outros buscadores entendam que se trata do mesmo site e que ele apenas mudou de endereço.
Essa mesma lógica pode ser usada para forçar a navegação de um site com o www no endereço. O redirecionamento no .htaccess seria algo como:
RewriteEngine On RewriteCond %{HTTP_HOST} ^meusite\.com\.br RewriteRule ^(.*)$ http://www.meusite.com.br/$1 [R=301,L]
No exemplo acima, ao acessar a página meusite.com.br/pagina1, o usuário é redirecionado para www.meusite.com.br/pagina1.
Se o site possui um certificado SSL, é importante redirecionar todas as URLs para a versão segura do site (com HTTPS), podemos usar a seguinte regra no arquivo .htaccess:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Lembre-se de que se tratam apenas de exemplos e que eles devem ser adaptados para a realidade de cada um.
Redirecionamento em servidores Windows
Servidores Windows possuem um funcionamento parecido com servidores Linux quando o assunto é redirecionamento. As regras, nesse caso, são escritas em um arquivo denominado Web.config, que está localizado no diretório raiz do site. Assim, se você deseja criar uma regra de redirecionamento para um site que está no diretório /meusite/, basta localizar e editar o arquivo web.config em /meusite/Web.config.
Para fazer um redirecionamento simples, de uma URL para outra, utilize a seguinte regra em seu arquivo Web.config:
<configuration> <location path="pagina_antiga"> <system.webServer> <httpRedirect enabled="true" destination="http://seudominio.com.br/pagina_nova" httpResponseStatus="Permanent" /> </system.webServer> </location> </configuration>
Se você alterou o domínio do seu site e deseja que as URLs do site antigo redirecionem para a mesma página, mas no novo domínio, poderia usar uma regra semelhante a:
<rewrite> <rules> <rule name="Exemplo de redirecionamento" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAny" trackAllCaptures="false"> <add input="{HTTP_HOST}{REQUEST_URI}" pattern="siteantigo.com.br" /> </conditions> <action type="Redirect" url="http://sitenovo.com.br/{R:1}" redirectType="Permanent"/> </rule> </rules> </rewrite>
Versões mais antigas do servidor Windows IIS podem não interpretar as regras acima. Para mais informações sobre redirecionamento em servidores Windows, consulte esta página (em inglês).
Redirecionamento de páginas usando linguagens de programação
Em muitas situações, pode ser mais prático não alterar as configurações do servidor e utilizar uma linguagem de programação para realizar o redirecionamento de uma página.
Todas as linguagens de programação utilizadas na internet possuem uma forma de redirecionar o usuário de uma página para outra. Vamos conhecer algumas a seguir:
Redirecionamento com PHP
O PHP é uma linguagem bastante popular na internet e muito usada para a construção de sites. Ela é interpretada no servidor, ou seja, as páginas são processadas e “montadas” no servidor, sendo o resultado enviado para o navegador do usuário, que recebe uma página HTML estática.
O redirecionamento de uma página com PHP se vale da função header(), que envia informações para o navegador antes de qualquer carregamento. Por esse motivo, a função deve ser usada logo no início do arquivo, antes de qualquer outra informação na página.
O exemplo abaixo informa ao navegador que a página em questão foi movida de maneira permanente e redireciona o usuário para o novo endereço.
<?php header( 'HTTP/1.1 301 Moved Permanently' ); header( 'Location: http://www.seusite.com.br/novapagina' ); ?>
Como se trata de um redirecionamento por linguagem de programação, o arquivo que contém a regra deve ser inserido individualmente em todas as páginas que se deseja redirecionar.
Redirecionamento com ASP e ASP.NET
ASP (também conhecida como “ASP clássico”) e ASP.NET são linguagens de programação criadas pela Microsoft e usadas em servidores Windows. Assim como o PHP, estas linguagens são interpretadas no servidor e o resultado é enviado para o navegador do usuário.
Para redirecionar uma página em ASP clássico, insira o código de redirecionamento no arquivo de carregamento da página em questão, como no exemplo abaixo:
<% Response.Redirect "http://meusite.com.br/pagina" %>
Para redirecionar uma página em ASP.NET, insira o código de redirecionamento, como no exemplo abaixo, na página que deseja redirecionar.
<%@ Page Language="C#" %> <script runat="server"> private void Page_Load(object sender, System.EventArgs e){ Response.Status = "301 Moved Permanently"; Response.AddHeader("Location","http://meusite.com.br/pagina"); } </script>
Redirecionamento com Javascript
Ao contrário do PHP, o Javascript (não confundir com Java) é uma linguagem interpretada no navegador do usuário. Dessa forma, sua programação pode ser visualizada, pois está presente no código-fonte da página.
Para que uma página seja redirecionada para outra, usando Javascript, insira um código como o abaixo no código-fonte da página em questão:
<script> window.location="https://www.meusite.com/pagina"; </script>
Redirecionamentos com Javascript podem ser menos eficientes do que redirecionamentos com linguagem de programação de servidor, porque, se o usuário estiver com o javascript desativado no navegador, ou por algum motivo o carregamento do script não for concluído, o redirecionamento não vai ocorrer. Por esse motivo, se o redirecionamento for essencial, como em casos de mudança de endereço, recomendamos que se use outro método, diferente de Javascript.
Redirecionamento com HTML
HTML não é uma linguagem de programação, mas sim de marcação, presente em todas as páginas da internet. As linguagens dinâmicas, de programação, geram código HTML após processar as requisições feitas pelo usuário. O Javascript, por ser uma linguagem de programação que roda no navegador, consegue manipular HTML dinamicamente, alterando em tempo real os elementos presentes em uma página.
Apesar de não ser uma linguagem de programação, o HTML pode ser usado para redirecionar uma página. Isso é possível através da inserção de uma tag do tipo meta em conjunto com o atributo http-equiv=”refresh”. Este atributo informa ao navegador que a página deve ser redirecionada para determinado endereço após uma quantidade de segundos estipulada. Para que a página seja redirecionada imediatamente, basta definir o tempo como 0 (zero), como no exemplo:
<meta http-equiv="refresh" content="0;url=http://meusite.com.br/pagina" />
Se desejarmos que a página seja redirecionada após 5 segundos, por exemplo, basta alterar o valor antes do endereço:
<meta http-equiv="refresh" content="5;url=http://meusite.com.br/pagina" />
Da mesma forma que as linguagens de programação, para que o redirecionamento em HTML funcione, é necessário inserir a meta tag no cabeçalho da página que se deseja redirecionar. O cabeçalho de uma página HTML fica entre as tags <head> e </head>.
Como redirecionar domínios adicionais
É muito comum registrar mais de um domínio para o mesmo site. Com frequência isso é feito para garantir que algumas variações do domínio serão pertencentes ao dono da marca. Uma empresa que possui um domínio terminado em .com.br, por exemplo, pode registrar o mesmo domínio, mas com variações na terminação, como .com, .net e outras.
Quando isso ocorre, é interessante garantir que o domínio adicional será redirecionado para o site existente no domínio principal. Assim, quando alguém tentar acessar o domínio adicional exemplo.com, será redirecionado para o principal exemplo.com.br.
Da mesma forma que os exemplos que vimos até aqui, para realizar esse tipo de redirecionamento é necessário registrar o domínio desejado e apontá-lo para um servidor de hospedagem. Deve-se então redirecionar o domínio no servidor.
Algumas empresas oferecem a possibilidade de adicionar domínio estacionados ou mapeados, que refletem o conteúdo do site principal. Assim, ao acessar o domínio de exemplo dominio-adicional.com, o usuário verá o mesmo conteúdo presente no site principal dominio-principal.com. Apesar de ser uma configuração simples de se fazer, esta configuração não é interessante para quem deseja visibilidade nos mecanismos de busca. O motivo é que os buscadores podem entender que se trata de um segundo site com o mesmo conteúdo do primeiro, o que poderia ser considerado conteúdo duplicado.
Para evitar esse tipo de problema, o ideal é inserir um domínio adicional na hospedagem (como se fosse um segundo site) e configurar um redirecionamento 301 para o site principal. Dessa forma, sempre que alguém tentar acessar o domínio adicional, será redirecionado para o site principal, sem que o domínio adicional seja exibido na barra de endereços.
E a configuração desse tipo de redirecionamento é bem simples, mas deve-se optar por um redirecionamento no nível do servidor (ao invés de redirecionar apenas uma página). Se você usa uma hospedagem Linux, por exemplo, poderia inserir apenas um arquivo do tipo .htaccess no diretório do domínio adicional com o redirecionamento de domínio.
O código, nesse caso, deve informar que qualquer requisição para aquele domínio (incluindo subpáginas) será redirecionada. Por exemplo:
RewriteEngine on RewriteRule ^.*$ http://meusite.com.br [L,R=301]
Também é possível redirecionar um domínio adicional usando uma linguagem de programação. No entanto, não recomendo esta opção para domínios adicionais, porque o redirecionamento com linguagem de programação é aplicado apenas se determinado arquivo for carregado (ex.: index.php ou pagina.php). Assim, se alguém tentar acessar uma URL diferente da URL base do domínio, poderá não ser redirecionado.
O redirecionamento no nível do servidor (via .htaccess ou Web.config) é mais poderoso nesse cenário, porque permite a criação de regras que cobrem qualquer tipo de URL e acesso ao domínio adicional.
Como redirecionar domínios no Registro.br
O Registro.br, entidade brasileira responsável pelo controle de todos os domínios terminados em .br, possui uma funcionalidade que permite realizar o redirecionamento de domínios sem a necessidade de apontá-lo para uma hospedagem. Esta opção só está disponível para domínios terminados em .br (ex.: meusite.com.br) e registrados diretamente no site do Registro.br.
Este recurso pode ser útil para aqueles que registraram um domínio, mas ainda não possuem um site. Dessa forma, os usuários poderão usar o seu endereço para levar o usuário para uma página em uma rede social, por exemplo.
Conclusão
Neste artigo, conhecemos os cenários mais comuns onde pode ser necessário redirecionar um domínio. Vimos também diversas técnicas para configuração do redirecionamento, que atendem desde pessoas técnicas até iniciantes nesse universo
Espero ter ajudado você a redirecionar um domínio ou página, mas se tiver alguma dúvida, deixe um comentário! E já que estamos falando de domínio, sabia que existe um serviço que protege os seus dados de registrante da internet? Saiba mais neste artigo sobre Privacidade de domínio.