O mod_rewrite está habilitado?

Modificado em
mod_rewrite reescrita rewrite mod amigavel url amigavel urls amigaveis

Nos planos de Hospedagem e VPS o Mod_Rewrite está habilitado. Nas aplicações CMS Wordpress, Joomla, Prestashop e Opencart já possui o Mod_Rewrite configurado.

Caso em seu public_html não possuir o arquivo .htaccess para editar, você pode criá-lo em qualquer editor de texto e salvá-lo como .htaccess, em seguida publique dentro da pasta public_html.

 

Com o Mod_rewrite você pode parametrizar algumas regras em seu .htaccess. Abaixo temos alguns exemplos:

- Bloqueando hotlinks em imagens

Para evitar que outros utilizem imagens hospedadas em seu servidor, “linkando” diretamente e assim gastando a sua banda, use o seguinte código em seu .htaccess:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?meusite.com [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

 

- Bloqueando visitantes com base no “referring domain”

Você pode também impedir que determinados visitantes acessem seu site com base no “referring domain”, ou seja, com base no site que “indicou” o seu endereço a eles. Digamos que exista algum link para seu site, por algum motivo, em algum “site duvidoso” na Rússia. Ou qualquer outro motivo e localização.
 

RewriteEngine on
RewriteCond %{HTTP_REFERER} dominioproblematico1.com [NC,OR]

RewriteCond %{HTTP_REFERER} dominioproblematico2.com [NC,OR]

RewriteRule .* - [F] 

Você pode incluir/editar os “domínios problemáticos” conforme suas necessidades ou até mesmo adicionar mais.

Forçando redirecionamento de http para https (SSL)

RewriteEngine On

RewriteCond %{HTTPS} !on

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

 

- Redirecionamento 301

Para redirecionar permanentemente (e também dizer aos motores de busca que trata-se de uma mudança permanente) um domínio inteiro para outro (um novo, por exemplo), utilize no antigo um .htaccess com o código abaixo:

Options +FollowSymLinks

RewriteEngine on

RewriteRule (.*) http://www.seunovosite.com/$1 [R=301,L]

 

Removendo extensões de arquivos das URLs

Você pode também remover as extensões dos arquivos das URLs com um arquivo .htaccess. Por exemplo, ao invés de seu visitante visualizar algo como contato.php na barra de endereços do navegador, ele pode visualizar simplesmente “contato”.

Use o código abaixo em um arquivo .htaccess:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}\.html -f

RewriteRule ^(.*)$ $1.html

No exemplo acima, a extensão .html será removida/escondida. Você pode também usar o mesmo snippet para esconder outras extensões de arquivos, como por exemplo .php . Basta realizar as devidas substituições.

 

- Reescrevendo URLs – Tornando-as amigáveis

Com .htaccess, também podemos reescrever URLs. Podemos torná-las mais amigáveis, tanto para os motores de busca quanto para os visitantes. 

1. Reescrevendo produto.php?id=12 para produto-12.html:

RewriteEngine on

RewriteRule ^produto-([0-9]+)\.html$ produto.php?id=$1

2. Redirecionando URLs sem www para URLs com www:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^seudominio.com
RewriteRule ^ http://www.seudominio.com%{REQUEST_URI} [L,R=301]

3. Redirecionando URLs com www para URLs sem www:

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

 

 

Faça alguém feliz hoje!