Muita coisa sobre CSS, HTML, Javascript, Search engine optimization (seo), padrões e web
10 Jul
Há alguns posts atrás falei da importância de realizar um redirecionamento pelo servidor ou por alguma linguagem server-side, e que retornasse o código 301 para o navegador e robôs de busca.
Mas é possível fazer um redirecionamento usando o arquivo .htaccess. Além de redirecionar arquivos únicos, é possível realizar redirecionamento de diretórios completos com uma simples linha de código.
O .htaccess é um arquivo de configuração do servidor Apache. Como o Apache domina cerca de 80% dos servidores, provavelmente você poderá utilizar as vantagens desse arquivo de configuração - se a função estiver habilitada no Apache.
Porque do ponto na frente? No Unix/Linux, o ponto na frente de um arquivo indica que ele é um arquivo oculto, ou seja, provavelmente não será listado para os usuários, nem poderá ser acessado.
Com apenas uma linha é possível redirecionar um arquivo qualquer para outro domínio ou diretório. Veja o exemplo abaixo:
Redirect permanent /blog/arquivo.html http://blog.gustavopaes.net/arquivo.html
Salve o arquivo com o nome .htaccess - no Windows, salve com um nome qualquer e depois renomeie-o - e envie para a raiz de seu site.
O permanent - código 301 para o browser ou robôs de busca - indica que a mudança de endereço é permanente, ou seja, os buscadores irão remover qualquer referência da antiga página para a nova.
Para redirecionar um diretório completo - incluindo os sub-diretórios - deve-se utilizar o RedirectMatch:
RedirectMatch permanent ^/antigo(.*)$ http://www.novo.net/
O RedirectMatch permite criar expressões regulares na procura por diretórios e arquivos. No caso acima, ele redirecionará tudo o que estiver dentro do diretório antigo - até o que não existe - para o novo endereço.
Supondo que todos os .html de seu site passaram a ser .php. Uma simples regra com RedirectMatch resolverá seu problema:
RedirectMatch permanent ^/(.*).html$ http://www.site.net/$1.php
O arquivo .htaccess possui muitas outras funções bastante interessantes e que vale a pena dar uma estudada. Você pode, por exemplo, proteger um diretório com senha, definir páginas de erro, entre outras funções.
A função de redirecionamento evita ter que alterar configurações diretamente no servidor ou trabalhar com alguma linguagem server-side.
Leitura recomendada:
Apache Tutorial: .htaccess files
Apache Module mod_alias (em inglês)
Pesquisa no Google
2 Responses for "Redirecionando um diretório com htaccess"
Oi cara eu queria usar meu site em um servidor e trasferir os arquivos para outro servidor,como eu uso o .htaccess para trasferir esser arquivos automaticamente?
Vlw. muito obrigado pela dica do redirecionamento…..me foi muito útil
Leave a reply