Assine:
RSS do Blog...

===================================================
Howto: Redirecionando permanentemente um site para um novo domínio
===================================================

Vejamos o problema:

Eu tinha um site hospedado em um domínio X e o cliente me pediu para alterar o domínio para Y.  Sem dúvida essa é uma idéia estúpida, ainda mais quando o site já esta a um bom tempo com o nome de domínio X, pois alterar o endereço de um site sem pensar em todos os usuários que possuem páginas do mesmo em seus favoritos é algo que não deve ocorrer, pois significa perder todos estes antigos usuários.

É possível resolver parcialmente isso realizando um redirecionamento de site, utilizando para isso o status HTTP 301, para identificar que o site mudou permanentemente. Há muitas formas de fazer isso, mas porque não utilizar o Htaccess do Apache, pois a a maioria dos serviços de hospedagem suportam tão configuração. Em primeiro lugar eu tentei isso:

RewriteEngine On
RewriteBase /
Redirect 301 / http://novodominio.com.br/

Dessa forma, todas as solicitações para a raiz do antigo domínio serão redirecionadas para a raiz do novo domínio.

Mas ainda temos um problema, ao se tentar acessar algum caminho dentro do domínio antigo ( http://dominioantigo.com.br/caminhoxyz/), muito comum quando se chega ao site através de um buscador, o que aconteceria? Seria exibido um erro 404 (not found), porque o caminho não existe mais.

O que queremos é que se usuário acessar http://dominioantigo.com.br/caminhoxyz/ ele seja redirecionado para http://novodominio.com.br/caminhoxyz/.

Veja como é fácil, basta alterar o Htaccess, assim:

RewriteEngine On
RewriteBase /
RedirectMatch 301 (.*)$ http://dominionovo.com.br$1

Com isso em mente e um pouco de conhecimento de .httacces, é possível fazer coisas bem legals, como por exemplo:

RewriteEngine On

# Regra para os dias da semana.
# Se o dia atual for maior que 0 (domingo) E menor que 6 (sábado)
RewriteCond %{TIME_WDAY} >0
RewriteCond %{TIME_WDAY} <6

# Verificamos o horário do servidor.
# Se for menor que 8h OU maior que 18h
RewriteCond %{TIME_HOUR}%{TIME_MIN} <0800 [OR]
RewriteCond %{TIME_HOUR}%{TIME_MIN} >1800

# Enviamos a requisição para um outro domínio
RewriteBase /
RedirectMatch 301 (.*)$ http://dominoxyz.com.br$1

# Ou então redireciona para um arquivo no mesmo servidor:
# RewriteRule .* opz.php

# Regra para o sábado.
# Se o dia atual for 6 (sábado)
RewriteCond %{TIME_WDAY} =6

# Verificamos o horário do servidor
# Se for menor que 8h OU maior que 12h
RewriteCond %{TIME_HOUR}%{TIME_MIN} <0800 [OR]
RewriteCond %{TIME_HOUR}%{TIME_MIN} >1200

# Enviamos a requisição para o outro domínio
RewriteBase /
RedirectMatch 301 (.*)$ http://dominionovo.com.br$1

# Ou então redirecionamos para um outro arquivo no mesmo servidor:
# RewriteRule .* opz.php

Related posts:

  1. 16 coisas legais que da pra fazer com .htaccess
  2. Cuwhois – Informações sobre domínios
  3. AjaxDNS, ferramenta para obter informações sobre um domínio
  4. Novo site permite visão nocturna do Mundo
  5. Mais de 100 ferramentas para análise de seu site

Leave a Reply