Como criar um redirecionamento pelo .htaccess?

Existem várias formas de redirecionar os acessos do seu site.

A idéia deste artigo é de apenas orientar os usuários com códigos prontos, mas é de responsabilidade total do usuário desses sistemas testa-los. Qualquer problema referente a eles é de total responsabilidade do cliente.

Conheça alguns deles:

Redirecionando o domínio principal da conta: RedirectMatch ^/$ http://dominio.com.br/diretorio
Redireciona “www.dominio.com.br” para “www.dominio.com.br/loja”
Redirect 301 /pagina.html http://www.seudominio.com.br/novapagina.html
Redireciona o acesso ao arquivo “pagina.html” para “http://www.seudominio.com.br/novapagina.html”

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

RedirectMatch 301 (.*)\.html$ http://www.seudominio.com.br$1.php
Caso você tenha mudado todos os seus arquivos de extensão “.html” para “.php” e tenha links antigos com referências para os “.html”, você pode evitar que o usuário acesse uma página que não existe mais com essa linha; Ela redireciona qualquer acesso a um “.html” substituindo “.html” para “.php”.

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

Remove o “www” do endereço de acesso, isto é, redireciona quem acessou pelo endereço “www.seusite.com.br” para “seusite.com.br”; Isso é bom para padronizar o acesso ao seu site e ajuda na indexação dos buscadores, fazendo-os indexar apenas links sem “www”.
Para alterar a linha 4 (domínio, no exemplo site\.com\.br), adicione “\” antes de cada “.”, assim o “.” será interpretado como ponto e não parte de uma expressão regular.
Exemplo: mudando site.com.br para meusite.net.br.teste.exemplo (supondo que exista este domínio): RewriteCond %{HTTP_HOST} !^meusite\.net\.br\.teste\.exemplo

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

Adiciona “www” ao endereço acessado sem o “www”. A idéia de padronizar surge da mesma idéia do código anterior a esse.

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

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

DirectoryIndex paginainicial.php
Se colocado em um determinado diretório, faz com que ao acessarem aquele diretório, ao invés do servidor enviar o acesso a um arquivo do tipo “index”, como é o padrão, ele envia para “paginainicial.php”, como se redefinisse o nome do arquivo “index.php”.

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

Reenvia o acesso ao seu site feito através do “http” para o “https”.
Por exemplo: http://www.dominio.com.br > 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, deve-se substituir o seguinte:

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



  • 11 Usuários acharam útil
Esta resposta lhe foi útil?

Related Articles

Introdução HTML

O que é HTML?HTML é uma linguagem para descrever as páginas na web.HTML significa Hyper Text...

Configurando o Register Globals e Magic Quotes

A diretriz Register Globals quando ligada, criará para seus scripts vários tipos de variáveis,...

Desabilitando o register_globals pelo php.ini

Alguns sistemas e scripts necessitam ter a opção register_globals desativada. Neste tópico serão...

PrestaShop - Como configurar suhosin.post.max_vars

1. Criar arquivo "php.ini" no seu diretório de administração.2. adicionar esse código no...