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
e .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á!