Como criar um redirecionamento com htaccess

Há várias maneiras de redirecionar o acesso ao seu site.

A idéia deste artigo é apenas para orientar os usuários com códigos prontos, mas é de total responsabilidade do usuário destes sistemas testá-los. Quaisquer problemas relativos a eles são de total responsabilidade do cliente.

Saiba mais sobre alguns deles:

Redirecionamento do domínio principal da conta: 

RedirectMatch ^/$ http://dominio.com/pasta
Redirecionar “www.dominio.com” para “www.dominio.com/pasta”.
Redirect 301 /pagina.html http://www.dominio.com/novapagina.html
Redireciona o acesso ao arquivo “pagina.html” para “http://www.dominio.com/novapagina.html”

Redirect 301 / http://www.dominio.com/
Redirecione o acesso de sua conta para o seguinte endereço “http://www.dominio.com/”

RedirectMatch 301 (.*)\.html$ http://www.dominio.com$1.php
Se você mudou todos os seus arquivos de extensão “.html” para “.php” e tem links antigos com referências ao “.html”, você pode impedir o usuário de acessar uma página que não existe mais com esta linha; redirecione qualquer acesso a um “.html” substituindo “.html” por “.php”.

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^dominio\.com\.br
RewriteRule (.*) http://dominio.com/$1 [R=301,L]


Remova o “www” do endereço de acesso, ou seja, redirecione quem acessou pelo endereço “www.dominio.com.br” para “domain.com.br”; isto é bom para padronizar o acesso ao seu site e ajuda na indexação dos mecanismos de busca, tornando-os indexadores apenas de links sem o “www”.


Para mudar a linha 4 (domínio, no exemplo .com domínio .br), acrescente “\” antes de cada “.”, O “.” será interpretado como uma parada completa e não fará parte de uma expressão regular.


Exemplo: mudar site.com para meuite.net.br.test.example (assumindo que este domínio existe):

RewriteCond %{HTTP_HOST} !^meusite\.net\.br\.test\.exemple

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^meusite.com.br [NC]
RewriteRule ^(.*)$ http://www.meusite.com.br/$1 [L,R=301]



Adicionar “www” ao endereço acessado sem o “www”. A idéia de padronizar vem da mesma idéia que o código anterior.

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3, 9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

Ocultar o acesso ao arquivo “.index.php” para “/”.
Exemplos: www.dominio.com.br/index.php> www.dominio.com; www.meusite.com.br/test/index.php> www.meusite.com.br/test/

DirectoryIndex paginainicial.php
Se colocado em um determinado diretório, ao acessar esse diretório, ao invés do servidor enviar acesso a um arquivo do tipo “index”, como é o padrão, ele é enviado para “paginainicial.php”, como se estivesse redefinindo o nome do arquivo “index.php”.

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.meusiteseguro.com.br/$1 [R,L]

Encaminhar o acesso ao seu site através de “http” para “https”.
Por exemplo: http://www.dominio.com> https://www.dominio.com.br/

Redirecionar para pasta:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^seu-dominio.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.seu-dominio.com$
RewriteCond %{REQUEST_URI} !pasta/
RewriteRule (.*) /pasta/$1 [L]


Nas linhas acima, o seguinte deve ser substituído:

seu-dominio.com – Digite seu próprio nome de domínio
pasta – Digite o nome da subpasta onde seu site está localizado