Redirecione o site inteiro via .htaccess Por Rodrigo Ghedin dia 18 de Setembro de 2008 às 7:32 pm | Imprimir este post

Mudar de domínio é difícil. Não bastasse o transporte dos arquivos e bancos de dados de um servidor para outro, ainda temos o redirecionamento do endereço antigo para o novo, que para muitos é um bicho de sete cabeças. Digo, para quem sabe, pode até ser fácil, mas para quem não tem muita intimidade com servidores e coisas do tipo, a coisa complica.

Uma solução simples é pedir ao suporte do servidor que adicione o domínio novo: assim, ambos os domínios, o original e o antigo, funcionarão. Não sei se isso caracteriza conteúdo duplicado, prática que detona qualquer estratégia de SEO, mas na dúvida, evito. Afinal, fazendo isso, os dois domínios continuam acessíveis, cada um em sua própria URL, ambos caindo no mesmo conteúdo. Outro efeito colateral ruim é a descentralização da marca, afinal, se com um TLD já é difícil fixar o domínio na cabeça das pessoas, imagine com dois ou mais?

Como se vê, essa não é a melhor saída. Precisando de uma solução, já que tinha que redirecionar dois domínios (.com e .com.br) para o novo (.ig.com.br), corri atrás de uma mais amigável e transparente, tanto para o leitor, quanto para os mecanismos de busca. E a encontrei. Não lembro aonde, mas encontrei. Funciona via .htaccess, e é bem simples de ser implementada.

O código é o seguinte:


RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?antigo.com [NC]
RewriteRule ^(.*)$ http://www.novo.com/$1 [R=301,L]

Copie, cole no seu .htaccess, e faça as devidas modificações. Se houver mais de um domínio antigo, repita as duas últimas linhas na seqüência, alterando, obviamente, o domínio antigo.com pelo antigo2.com. Simples assim.

Adicionar um comentário

16 comentários : “ Redirecione o site inteiro via .htaccess ”

  1. 1
    Gravatar
    wagner beethoven :

    Erico meu rei, tenho um plugin que avisa da segurando do servidor, ele esta dizendo que o meu está faltando este arquivo, .htaccess, tem como você fazer um post ou material falando desses arquivo e será que tem como eu restaurar este arquivo?

  2. 2
    Gravatar
    Paulo Frazão :

    Ótimo post Rodrigo, tava precisando e muito dessa dica, agora tenho uma dúvida, este é o código do arquivo .htaccess em meu diretório /blog que quero passar todo para o diretório raiz:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /blog/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /blog/index.php [L]
    </IfModule>
    
    # END WordPress

    O código que está no post, irei colocar no lugar de tudo que está entre as tags IfModule? Ou não?
    Se aplica da mesma forma em sites normais e em site Wordpress? Ou tem alguma diferença?

    E valeu pela dica, continue assim Rodrigo sempre ajudando melhorando este site.

  3. 3
    Gravatar
    José Luís :

    Ótimo post. Entretanto, creio que, em certos casos, usar dois domínios não descentraliza a marca. Ao contrário, ajuda o usuário a chegar onde quer. Por exemplo, tenho um blog hospedado em jlcarneiro.com. Mas, como muitos usuários acrescentavam o sufixo .br, adquiri o domínio jlcarneiro.com.br, redirecionando-os (via HTTP 301) para o domínio original.

  4. 4
    Gravatar
    Rodrigo Ghedin :

    @ Wagner

    Sim, você pode criar um .htaccess em seu servidor.

    @ Paulo

    Não apague esse código! Ele é responsável por criar os pemalinks em seu blog. Altere o endereço através das opções do WordPress, e depois, recrie a estrutura de permalinsk (entre em Settings, vá em Permalinks).

    O código do post deve ser colocado no .htaccess na raiz, assim, ele servirá para o site inteiro.

    Antes de qualquer coisa, guarde uma cópia de backup de todos os arquivos que for utilizar. Assim, caso faça alguma besteira, pior do que já estava antes não ficará :) .

    @ José Luiz

    Tinha o mesmo problema no WinAjuda. No caso, preferi o redirecionamento via .htaccess, ao invés do HTTP. É mais transparente para o leitor ;) .

    []’s!

  5. 5
    Gravatar
    José Luís :

    @ Ghedin

    Eu também uso o redirecionamento via .htaccess, só que a regra termina como [NC,R=301,L], ou seja, o leitor (humano ou robô) é redirecionado com um aviso HTTP 301 (Moved Permanently).

  6. 6
    Gravatar
    lucianaweb no diHITT :

    Redirecione o site inteiro via .htaccess…

    Dica muito útil pBlog para todos que tem blog: Mudar de domínio é difícil. Não bastasse o transporte dos arquivos e bancos de dados de um servidor para outro, ainda temos o redirecionamento do endereço antigo para o novo, que para muitos é um bi…

  7. 7
    Gravatar
    Patricia Müller :

    Oi, Rodrigo,

    estava justamente hoje pesquisando alternativas para este tipo de redirecionamento. Eu tenho várias situações, na verdade, então preciso entender o que é melhor em cada caso. Uma das situações é que o Projeto 101 Coisas em 1001 Dias, que hoje está em http://www.patriciamuller.com/101 tem agora dompinio próprio. Registrei 101coisasem1001dias.com, .com.br, .net, .org e .info. O principal vai ser o .com. Então vou precisar:

    1) redirecionar o subdiretório em que o site está hoje para o domínio novo - principal.

    2) redirecionar os domínios opcionais para caírem no mesmo site.

    Você (ou alguém mais) sabe quel a melhor forma de fazer tudo isso? Esta dica vale também para subdiretórios?

    Abçs.

    Patricia.

  8. 8
    Gravatar
    Patricia Müller :

    (offtopic) Que tema lindo é este que vocês estão usando aqui no blog???

  9. 9
    Gravatar
    Patricia Müller :

    Já achei o tema. Podem ignorar o comentário anterior. :p

  10. 10
    Gravatar
    Marcelo :

    Legal esse Post.
    Mas esse redirecionamento serve apenas para o dominio principal, certo?
    Por exemplo, se eu tiver um site http://www.xxyy.com.br e mudar para http://www.xxyy.com, ele mudará também os meus posts que estão dentro do dominio antigo? Acho que não.
    Uma vez tentei fazer e não consegui.
    Me disseram que eu teria que usar expressões regulares e mesmo assim nao consegui fazer funcionar.

    abraço!

  11. 11
    Gravatar
    Rodrigo Ghedin :

    @ Patrícia Müller

    Patrícia, acho que se você colocar o subdomínio na primeira linha, deve funcionar. No seu caso, ficaria assim:

    RewriteEngine on  
    RewriteCond %{HTTP_HOST} ^(www.)patriciamuller.com/101 [NC]  
    RewriteRule ^(.*)$ http://www.101coisasem1001dias.com/$1 [R=301,L]

    Para os demais domínios, basta repetir as duas últimas linhas, na seqüência. Ficaria assim:

    RewriteEngine on  
    RewriteCond %{HTTP_HOST} ^(www.)patriciamuller.com/101 [NC]  
    RewriteRule ^(.*)$ http://www.101coisasem1001dias.com/$1 [R=301,L] 
    
    RewriteCond %{HTTP_HOST} ^(www.)patriciamuller.com/101 [NC]  
    RewriteRule ^(.*)$ http://www.101coisasem1001dias.net/$1 [R=301,L] 
    
    RewriteCond %{HTTP_HOST} ^(www.)patriciamuller.com/101 [NC]  
    RewriteRule ^(.*)$ http://www.101coisasem1001dias.com.br/$1 [R=301,L]

    E assim por diante. Não testei, mas tenho quase certeza que funciona.

    @ Marcelo

    Esse código redireciona tudo, inclusive subdiretórios (www.site.com/pasta); só não testei com subdomínios (pasta.site.com), logo, esse eu não garanto. Quer ver um teste prático? Entre aqui: http://www.winajuda.com/2008/09/19/im-a-pc/. Note que a URL mudará, automaticamente, de .com para .ig.com.br. É por isso que esse código é bom, e vai bem além de um simples redirect no head da página ;) .

  12. 12
    Gravatar
    Patricia Müller :

    Valeu, Rodrigo, vou testar!

  13. 13
    Gravatar
    Marcelo :

    Valeu demais, Rodrigo
    abraço!

  14. 14
    Gravatar
    Paulo Frazão :

    Rodrigo cara, muito obrigado, deu tudo certo aqui, brigadão msm!

  15. 15
    Gravatar
    Danilo :

    legal a matéria

  16. 16
    Gravatar
    iran :

    Eu tenho um wordpress hospedado no 000webhost.com, e fica com o endereço nomedosite.site88.net, eu comprei um dominio .com, gostaria que todos os meus links do site fosse apontado somente para o .com
    exemplo: nomedosite.site88.net/sobre ficasse assim http://www.nomedosite.com/sobre
    como eu faço?

Escreva um Comentário

XHTML: Você pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


vpn service