Dicas e truques do arquivo htaccess
Conheça aqui algumas funções do htaccess
Hoje em dia, as url’s amigáveis são um fator essencial para seu site, mas o que são as url’s amigáveis ? Simplesmente é uma forma mais “bonitinha” de se colocar a url do seu site, como exemplo, http://drcode.com.br/blog/p=17, o que você entende disso ? Nada! Mas agora se colocarmos, http://drcode.com.br/blog/html/dicas-e-truques-do-arquivo-htaccess, você entende perfeitamente o que tem nesta página, e sem contar que uma url amigável conta com muito mais relevância no índice de busca do Google, caso se interesse em ficar bem posicionado no Google, há um post de dicas seo para programadores front end.
Mas e então, como fazemos para aparecer a url amigável ao invés da url permanente?
Primeiro temos que ter um arquivo htaccess, no seu servidor, ou pasta raiz de seu projeto crie um novo arquivo com o nome, “.htaccess” (sem aspas).
Nele coloque o seguinte código:
Options -Indexes
RewriteEngine on
RewriteRule ^pagina$ pagina.php [L]
Para fazer a url amigável nada mais basta que substituir onde está página pelo nome da sua página, onde o ^pagina$ é o nome da sua url, e pagina.php é o nome do arquivo. Neste código estamos dizendo para que quando digitarmos pagina, chamar o arquivo pagina.php. O Options -Indexes, serve para que quando um usuário acessar uma pasta, não faça a listagem de diretórios.
Você pode definir quais são as páginas que abrirão primeiro em seu site,
DirectoryIndex index.html index.php index.html
Você também pode remover o www de seu dominio, basta colocar este código no seu arquivo:
RewriteCond %{HTTP_HOST} !^meusite.com$ [NC]
RewriteRule ^(.*)$ http://meusite.com/$1 [L,R=301]
*Nota: neste caso, o “RewriteEngine on” deve estar no documento antes deste código.
Com o htaccess você também pode criar páginas de erros personalizadas, assim quando um usuário acessar uma página inexistente, por exemplo, irá para uma outra página personalizada, adicione este código no seu htacces:
ErrorDocument 400 /erros/badrequest.html
ErrorDocument 401 /erros/authreqd.html
ErrorDocument 403 /erros/forbid.html
ErrorDocument 500 /erros/serverr.html
Neste código, nos fazemos o redirecionamento, onde as páginas de erros são chamadas com outro arquivo, usando o htaccess, basta trocar o caminho que está no código pelo de seu arquivo do erro correspondente.
Você pode também forçar o redirecionamento http para https (SSL), desta forma
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Você pode banir que um determinado IP acesse seu site, assim:
allow from all
deny from 200.143.89.154
deny from 67.122.145.60
deny from 74.14.13.246
deny from 67.224.175.26
Podemos também fazer um redirecionamento 301, usando o htaccess, fazendo desta forma
redirect 301 /antigo/arquivo_antigo.htm http://www.seusite.com.br/aquivo_novo.htm
onde primeiro colocamos o arquivo antigo e em seguida o novo arquivo. Você também pode fazer um redirecionamento de site, colocando o código assim
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.novosite.com.br/$1 [R=301,L]
*não se esqueça de substituir o www.novosite.com.br pelo seu novo site
Que tal deixar o carregamento do seu site mais rápido? Sim, isto é possível com o htaccess também, basta colocar este código
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
Neste código estamos utilizando o cache do navegador, assim sempre que um mesmo usuário acessar seu site, ele já vai ter os arquivos, “pre-carregados” no navegador dele.
Você pode também prevenir que outros sites façam Hotlinks em imagens, ou seja, que outro site use uma imagem sua, basta colocar este código
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?meusite.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
Não se esqueça de substituir o meusite.com pelo seu domínio, e note que neste caso estamos privando apenas arquivos com extensão jpg, jpeg, png e gif, você pode adicionar inúmeras extensões.
Caso queira que apareça uma outra imagem para o “ladrão” de imagens coloque este código logo abaixo do anterior
RewriteRule .*\.(jpg|jpeg|png|gif)$ /imagens/imagemalerta.jpg [L]
*Não se esqueça de substituir pelos seus dados de arquivo.
Bom, acho que com todas essas dicas da pra ver que um simples arquivo .htaccess é um baita de um arquivo, que podemos fazer inúmeras coisas com ele, espero que tenham gostado da dica, e não se esqueça de comentar, tirar dúvidas e dar sugestões.