
Na minha opinião, o .HTACCESS é o arquivo de configuração mais essencial, importante e dinâmico para um site ou blog, seja ele em WordPress ou não. A partir dele é possível realizar uma inifinita gama de ajustes, bloqueios e configurações básicas e avançadas.
Pensando justamente nisso, separei as melhores dicas, as melhores manhas e os melhores tutoriais para .htaccess disponíveis atualmente para que você possa otimizar e aumentar o desempenho de seu servidor web ao extremo. Ganhando, assim, velocidade e performance para seu blog ou site. Confira:
Como remover cookies e transformar um domínio em CookieLess
Header unset Cookie Header unset Set-Cookie
Usando o cache do navegador (cache browsing)
Uma excelente forma de otimizar o tempo de carregamento do seu blog forçando o navegador (browser) a usar o cache para imagens, estilos CSS e Java Script.
FileETag MTime Size <ifmodule mod_expires.c> <filesmatch "\.(jpg|gif|png|css|js)$"> ExpiresActive on ExpiresDefault "access plus 1 year" </filesmatch> </ifmodule>
Como otimizar a requisição de arquivos estáticos
Outra dica altamente recomendada para ajudar a melhorar a sua pontuação no Page Speed, ferramenta recomendada do Google, que ajuda os desenvolvedores a otimizar ao máximo o seu blog.
#Habilitar Expires ExpiresActive On ExpiresDefault "access plus 1 year" #Aumentar velocidade do cache FileETag MTime Size #Configura 1 ano de cache e controle de cache especifico para arquivos de texto <FilesMatch "\.(js|css|ico|txt|htm|html)$"> ExpiresDefault A31536000 Header append Cache-Control "proxy-revalidate" </FilesMatch> #Configurar 1 ano de cache para arquivos de midia <FilesMatch "\.(gif|jpg|jpeg|png|swf|flv|pdf)$"> ExpiresDefault A31536000 Header append Cache-Control "public" </FilesMatch> #Ativa o Deflate para arquivos de texto <FilesMatch "\.(js|css|ico|txt|htm|html|php)$"> SetOutputFilter DEFLATE </FilesMatch> AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript text/css text/javascript
Adicionando expiração de cabeçalhos com mod_headers.c
O código a seguir ensina como criar uma data de expiração para os seus cabeçalhos.
<IfModule mod_headers.c> <filesmatch .(ico|pdf|flv|jpg|jpeg|png|gif|swf)$=""> Header set Expires "Wed, 21 Dec 2012 21:00:00 GMT" </filesmatch> </IfModule>
Como proteger seu blog de HotLinks
Hotlinking é o termo usado quando alguém usa uma imagem em um blog, mas esta imagem está hospedada em outro servidor. É uma forma de roubar a banda de outro blog. Com a função abaixo isso acabrá de vez!
Options +FollowSymlinks #Protecao contra hotlinking RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?seudominio.com/ [nc] RewriteRule .*.(gif|jpg|png)$ http://seudominio.com/images/parar-hotlinking.jpg[nc]
Veja mais dicas para acabar de vez com HotLinks e configurar Anti-Leech no Tutorial WordPress: como otimizar e aumentar o desempenho do seu blog ou site
Criando uma lista negra para IP’s banidos
Se você está cansados dos spammers, que tal proibir o acesso destes ratos através do seu IP?! Basta colocar o código abaixo em seu arquivo .htaccess:
allow from all deny from 192.168.1.123 deny from 192.168
Redirecionamento 301 amigável com SEO
Para quem deseja transferir todo o conteúdo de um domínio para um novo blog/site, é extremamente recomendado usar o redirecionamento 301 amigável via .htaccess, conforme pode ser visto a seguir. Desta forma você estará se protegendo contra possíveis puniçoes dos mecanismos de busca, como o Google, por exemplo.
RewriteEngine On RewriteRule ^(www\.)?dominioantigo.com/.*$ http://dominionovo.com/$1 [R=301,L]
Criando uma página de ERRO customizada
Se você está cansado do formato e layout das páginas de erro 404, que tal criar suas próprias páginas padronizadas ao seu gosto e estilo?! Depois que tiver todas elas prontas, basta copiar o código abaixo para o seu arquivo .htaccess e pronto!
ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php
Substitua a INDEX por outra página inicial
Se você não quer que a sua página inicial seja o index.html, você tem a opção de selecionar outro arquivo para isso. Coloque o código no seu .htaccess e pronto!
#Serve Alternate Default Index Page DirectoryIndex about.html
Desabilitar acesso e navegação a um diretório ou pasta
Para que você proiba o acesso a um detemrinado diretório com objetivo de proteger seus arquivos, como temas do WordPress, cole o código abaixo no seu arquivo .htaccess e pronto!
Options All -IndexesRedirecionar os feeds do WordPress para o FeedBurner
Para não perder os leitores fieis, a melhor maneira de redirecionar aqueles que ainda usam o RSS Feed do WordPress para o FeedBurner é usando o código a seguir:
#Redirecionando os Feeds do WordPress para o FeedBurner <ifmodule mod_rewrite.c=""> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/yourfeed [R=302,NC,L] </ifmodule>
Desabilitando comentários sem requisições de referência
Cansado dos comentários que BOTS de spammers deixam em seu blog?! Agora é possível bloquear o uso da caixa de comentários para aqueles visitantes que não vem de lugar nenhum (No Referrer Requests) com o código a seguir:
RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
Removendo extensão de arquivo da URL
O que este código faz é remover a extensão de um arquivo como .php ou .html ou outro de sua preferência.
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
Removendo o www. de uma URL automaticamente
Para remover o famigerado www de um domínio, basta inserir o código abaixo em seu .htaccess e aproveitar a dica.
#Remove www da URL RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
Outra forma permanente de remover o www. de um domínio
Redireciona www.seudominio.com para seudominio.com RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule (.*) http://example.com/$1 [R=301,L]
Redirecionando todos os visitantes, exceto IP’s específicos
Se deseja redirecionar todos os visitantes para uma outra página, com exceção de alguns IP’s de sua escolha, use o código abaixo:
ErrorDocument 403 http://www.seudominio.com Order deny,allow Deny from all Allow from 124.34.48.165 Allow from 102.54.68.123
Configurando um email padrão para o webmaster
ServerSignature EMail SetEnv SERVER_ADMIN default@seudominio.com
Desabilitando as requisições de download
Quando alguém vai fazer um download o servidor envia uma requisição perguntando para o visitante se ele quer salvar o arquivo no HD ou apenas abrí-lo remotamente. Se você deseja habilitar somente o download do arquivo direto para o HD, use o código abaixo:
AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mov
Removendo o /category/ da URL do seu blog WordPress
O WordPress é o melhor CMS que existe hoje na atualidade, porém, ainda existem certos incômodos para muitos autores e desenvolvedores, como é o caso dele automaticamente criar o /categoria/ sem o consentimento do autor. Para acabar de vez com este problema, adicione o código abaixo:
RewriteRule ^category/(.+)$ http://www.seudominio.com/$1 [R=301,L]
Como ativar compressão de dados estáticos
Desta forma é possível reduzir o consumo de banda e aumentar a velocidade de carregamento de suas páginas web. Veja o código:
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
Redirecionando os permalinks antigos para /%postname%/
Para se ter um bom SEO e, também, uma URL ainda mais amigável, que tal retirar de sua URL o mês e o dia e colocar apenas o título do post em questão?! Veja exemplos:
Antes: http://seudominio.com/2010/11/30/meu-post
Depois: http://seudominio.com/meu-post
Para fazer esta mudança basta inserir o código em seu .htaccess:
RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.seudominio.com/$4
Redirecionando seus visitantes para uma página de manutenção
Você vai realizar uma manutenção em seu blog e não gostaria que seus visitantes percebessem o que está acontencendo durante este momento?! Crie uma página com aviso de manutenção e ative a sua execução para todo novo visitante via .htaccess:
RewriteEngine on RewriteCond %{REQUEST_URI} !/manutencao.html$ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 RewriteRule $ /manutencao.html [R=302,L]
Só não esqueça e remover o código depois de concluir a manutenção!
Liberando acesso ao WP-ADMIN apenas para o seu IP
Se você não quer que ninguém tenha acesso ao seu wp-admin, então basta inserir no .htaccess o código a seguir. Mas lembre-se de substituir o XXX.XXX.XXX.XXX com o seu IP estático:
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Example Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all allow from XXX.XXX.XXX.XXX </LIMIT>
Como proteger um arquivo específico via .htaccess?!
O código a seguir vai proibir o acesso ao seu arquivo .htaccess, mas ele também pode ser usado com qualquer arquivo de sua escolha.
#Protegendo o arquivo .htaccess <files .htaccess=""> order allow,deny deny from all </files>
Protegendo arquivos e pastas com senha
Você pode ativar o uso de senhas para acessar determinados locais, como um diretório ou um arquivo específico. Veja código abaixo:
#Protecao com senha para arquivo <files secure.php=""> AuthType Basic AuthName "Prompt" AuthUserFile /home/path/.htpasswd Require valid-user </files> #Protecao com senha para diretorio resides AuthType basic AuthName "This directory is protected." AuthUserFile /home/path/.htpasswd AuthGroupFile /dev/null Require valid-user
Como usar compressão com o mod_deflate?!
Talvez esta seja uma alternativa mais rápida que a compressão Gzip. Cole o código abaixo no topo do seu .htaccess:
<ifmodule mod_deflate.c=""> <filesmatch .(.jpg|.gif|.png|.tiff|.ico|js|css)$=""> SetOutputFilter DEFLATE </filesmatch> </ifmodule>
—
Gostou das dicas?! Veja agora o Tutorial WordPress: como otimizar e aumentar o desempenho do seu blog ou site
Redirect 301 com htaccess, PHP e ASP sem perder visitas – Dicas e Tutorial
Tutorial WordPress: como otimizar e aumentar o desempenho do seu blog ou site
Truques de como proteger seu blog WordPress com segurança
Page Speed – Como aumentar e aprimorar a velocidade de carregamento do seu blog
CPA Brasil: o melhor e mais lucrativo programa de afiliados do Brasil
Aprenda como criar uma conta no Twitter – TUTORIAL PASSO-A-PASSO
The Sims 3 Showtime Katy Perry completo com cheats, códigos e dicas
As melhores sugestões de presentes criativos para homens e mulheres
Promoção MasterCard Surpreenda Disney – Dicas para concorrer
O que significa as siglas CPC, CTR, CPM, RPM, CPA, CPL, CPS e CPD
Ivete Sangalo vs Claudia Leitte: Quem é a melhor cantora do Brasil?
Tweets that mention Conheça os melhores hacks para .htaccess e WordPress — Topsy.com
Publicado em 30/11/2010 às 19:37 [+]
[...] This post was mentioned on Twitter by Manoel Netto, barba uonderias , Daniel Becher, Janio Sarmento, celsojunior and others. celsojunior said: Conheça os melhores hacks para .htaccess e WordPress. http://goo.gl/9NZPd [...]
Edgar
Publicado em 01/12/2010 às 13:19 [+]
Maravilha, post muito útil, Obrigado e parabens.
jhon
Publicado em 01/12/2010 às 15:55 [+]
Parabens muito bom o tutorial… msm que naum seja taum detalhista em cada opção.. mais foi de grande ajuda… Flws….
Pedro Costa Neves
Publicado em 10/12/2010 às 13:31 [+]
E as imagens vindo do timthumb.php? Não consegui fazer a prevenção de hotlinks qdo rola timthumb antes.
Anderson
Publicado em 28/12/2011 às 19:13 [+]
Olá Celso faz tempo que não venho ao seu blog tive que dar uma parada devido ao trabalho obrigado por não apagar este post.
Um forte abraço.