O ficheiro .htaccess, é o ficheiro que controla o webserver Apache. Este ficheiro é extremamente útil e permite realizar uma série de tarefas bem interessantes e favoráveis ao seu blog. Os colegas do Cats Who Code compilaram uma lista com 10 truques e dicas para o ficheiro .htaccess que qualquer blogueiro e webmaster deverá ter à mão para executar conforme as suas necessidades. Nunca se esqueça que antes de editar o seu ficheiro .htaccess, você deverá sempre fazer um backup do mesmo para evitar problemas de maior com o seu blog.

REMOVER WWW NO URL

Por razões de otimização para buscadores (SEO), você poderá remover (ou usar sempre) o prefixo www nos endereços URL do seu site ou blog. O seguinte truque permite-lhe remover esse prefixo www do URL do seu site e redireccionar qualquer um dos seus URLs com www para a versão não-www automaticamente.

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

PREVENIR HOTLINKING

O hotlinking é uma má prática que consiste em outros blogueiros utilizarem imagens do seu blog no deles, consumindo a sua largura de banda. Quando alguém puxa uma imagem sua, essa pessoa está consumindo a sua largura de banda para proveito próprio. Para prevenir esse abuso, utilize este truque no seu ficheiro .htaccess substituindo os endereços URL pelos seus próprios endereços.

RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?meusite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

REDIRECCIONAR TODOS OS FEEDS PARA O FEEDBURNER

A grande maioria dos blogueiros usa o Feedburner para distribuir os seus feeds RSS para os seus leitores. Se você usa o WordPress, você deverá redireccionar todos os seus feeds (rss, atom, etc) para o seu feed do Feedburner. Modifique as linhas 2 e 3 do código, e depois copie e cole esse código no seu ficheiro .htaccess.

<IfModule mod_alias.c>
 RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/seufeed/
 RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/seufeed/
</IfModule>

CRIAR PÁGINAS DE ERRO CUSTOMIZADAS

Cansado daquelas páginas de erro padrão que seu site/blog apresenta? Crie alguns ficheiros .html com o aspecto e design que você deseja, carregue-os para o seu servidor, e adicione o seguinte truque no seu ficheiro .htaccess:

ErrorDocument 400 /errors/badrequest.html
ErrorDocument 401 /errors/authreqd.html
ErrorDocument 403 /errors/forbid.html
ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/serverr.html

FORÇAR O DOWNLOAD DE FICHEIROS ESPECÍFICOS

Quando você oferece alguns ficheiros como mp3s, ficheiros de Excel ou PowerPoint, ou mesmo um Ebook Grátis para download no seu site, você poderá forçar o download sem que tenha de aguardar pela decisão do browser sobre o que fazer. Este truque força o download de ficheiros .xls.eps a partir do seu servidor. Poderá editar o código para o tipo de ficheiros que desejar.

<Files *.xls>
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>
<Files *.eps>
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>

REGISTAR ERROS DE PHP

Este truque é uma força interessante de registar erros dos seus ficheiros PHP num ficheiro de registo (log). Comece por criar um ficheiro do tipo php_error.log e coloque-o no seu servidor, e depois copie e cole o seguinte truque para dentro do seu ficheiro .htaccess. Não se esqueça de modificar a localização do ficheiro de registos na linha 7 do código.

# display no errs to user
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# log to file
php_flag log_errors on
php_value error_log /location/to/php_error.log

REMOVER EXTENSÃO DE FICHEIROS NOS URLS

As extensões de ficheiros podem ser extremamente importantes para desenvolvedores, mas não existem interesse nenhum em você mostrar a extensão de um determinado ficheiro para os seus usuários. Este truque irá remover a extensão .html de qualquer ficheiro html que você tenha em seu servidor. Obviamente, este truque pode ser facilmente adaptável a outro tipo de extensões como por exemplo as extensões PHP.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
# Replace html with your file extension, eg: php, htm, asp

PREVENIR LISTAGEM DE DIRETORIAS

Em seu servidor, quando um determinado diretório não contem um ficheiro index, o Apache mostra automaticamente uma listagem de todos os ficheiros presentes nesse diretorio. Ou seja, se você tiver uma pasta com imagens em seu servidor, se alguém acessar o endereço dessa pasta, poderá ver todo o conteúdo que você lá tem dentro. Se você não deseja que ninguém veja os ficheiros que estão em suas pastas no seu servidor, copie e cole o seguinte truque de código para dentro do seu ficheiro .htaccess.

Options -Indexes

REDUZIR PESO DAS PÁGINAS

Você sabia que é possível enviar informação comprimida para os seus usuários, a qual é descomprimida pelo cliente do próprio usuário? Este código irá provavelmente poupar-lhe imensa largura de banda e reduzir drasticamente o peso das suas páginas.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

ADICIONAR UTF-8 AOS FICHEIROS AUTOMATICAMENTE

De forma e evitar problemas de codificação, você pode forçar um determinado tipo de codificação diretamente a partir do seu ficheiro .htaccess. Dessa forma, você garante que todos os seus ficheiros HTML irão ser renderizados corretamente, mesmo que você se esqueça de adicionar uma diretiva <meta http-equiv="Content-Type"> às suas páginas HTML.

<FilesMatch "\.(htm|html|css|js)$">
AddDefaultCharset UTF-8
</FilesMatch>

 

Até Já!