O guia definitivo para o arquivo .htaccess do WordPress
Publicados: 2022-08-10Eu realmente não sou fácil de entender: meu código padrão parece chinês.
Destaco-me pela minha aparência singular, pois o meu nome não tem extensão.
Eu também tenho poderes mágicos. Se você me configurar corretamente, eu sou capaz do seguinte:
- Melhorando a segurança do seu site.
- Aumentando a velocidade de carregamento de suas páginas.
- Configurando redirecionamentos.
- Limitando o spam.
- E até fazendo algumas piadas: esse é o meu lado atrevido.
Você ainda não sabe quem eu sou? Eu sou o arquivo .htaccess
do seu site WordPress. Vamos me conhecer melhor neste guia sobre como eu trabalho.
Ao longo dessas linhas, você descobrirá mais de trinta orientações para me configurar. Eles são materializados na forma de pedaços de código prontos para uso, que você só terá que copiar e colar em casa.
Continue lendo, você não ficará desapontado!
Visão geral
- O que é um arquivo .htaccess?
- Como funcionam os arquivos .htaccess?
- Como criar um arquivo .htaccess
- Medidas de precaução antes de personalizar um arquivo .htaccess
- Como modificar seu arquivo .htaccess corretamente.
- Como personalizar o arquivo .htaccess na raiz de um site?
- Como personalizar o arquivo .htaccess no wp-admin
- Como personalizar o arquivo .htaccess no wp-includes?
- Como personalizar o arquivo .htaccess no wp-content?
- Como personalizar o arquivo .htaccess em wp-content/uploads?
- Recapitulação final do arquivo .htacess no WordPress
Originalmente escrito em outubro de 2015, este artigo foi atualizado pela última vez em julho de 2022.
O que é um arquivo .htaccess?
Um arquivo .htaccess
é um arquivo de configuração do Apache, o software que a maioria dos servidores da Web usa para executar. O conteúdo deste arquivo dará diretivas ao Apache para que o servidor se comporte de uma determinada maneira.
Cuidado, alguns hosts da Web são executados apenas no servidor NGINX. É o caso do Flywheel, por exemplo. Eles não têm um arquivo .htaccess
.
Quase todos os sites que usam o WordPress têm um arquivo
.htaccess
. Na verdade, o WordPress o cria automaticamente durante a instalação, para incluir as configurações de permalinks do site.
Quando você vai em Configurações > Permalinks para escolher um formato de URL (normalmente “Nome do post”), o arquivo .htaccess
é modificado.
Como funcionam os arquivos .htaccess?
Você deve saber que um site pode ter vários arquivos .htaccess
.
Primeiro, há o arquivo .htaccess
principal, localizado na raiz do site.
A raiz de um site é onde os arquivos do WordPress ( pastas wp-admin
, wp-includes
e wp-content
mais alguns outros arquivos) estão localizados em seu servidor. Você pode acessá-los conectando-se ao seu cliente FTP, por exemplo. O nome dessa pasta raiz pode variar dependendo do seu provedor de hospedagem. Por exemplo, chama-se public_html
com Bluehost (link afiliado) e www
com OVH.
O conteúdo do arquivo
.htaccess
principal influenciará todo o site.
Outros arquivos .htaccess
podem ser criados em subdiretórios. No caso do WordPress, um pode ser colocado no diretório wp-admin
ou wp-content/uploads
, por exemplo.
Os arquivos .htaccess
secundários influenciarão os diretórios em que estão localizados, bem como seus subdiretórios.
Se imaginarmos que um arquivo .htaccess
está presente em wp-content/uploads
, o diretório de uploads
e todos os seus subdiretórios serão impactados pelo que está definido no arquivo .htaccess
.
Como criar um arquivo .htaccess
Logicamente, seu site deve ter pelo menos um arquivo .htaccess
, aquele localizado na raiz do seu site. Você pode editá-lo usando seu editor de código favorito (Sublime Text, Brackets, Notepad++, Coda, etc.).
Existem outras soluções, como o plugin Htaccess File Editor, para editá-lo diretamente do seu painel do WordPress.
Mas, se houver algum problema, você terá que passar pelo seu cliente FTP e editor de código, então você pode fazê-lo diretamente à mão.
Se você precisar adicionar um arquivo .htaccess
a um subdiretório, siga estas instruções.
Crie um arquivo .htaccess do seu computador
- Crie um novo arquivo de texto e nomeie-o como
htaccess.txt
. - Edite-o como desejar.
- Envie-o para a raiz do seu servidor.
- Renomeie-o como
.htaccess
.
Crie um arquivo .htaccess do seu servidor
- Clique com o botão direito do mouse no diretório onde ele deveria estar.
- Adicione um novo arquivo e nomeie-o como
.htaccess.
- Edite-o com seu editor de código (Notepad++, Coda, Sublime Text ou outro).
Parabéns, agora você sabe para que serve um arquivo .htaccess
e como criá-lo. Antes de descobrir quais diretrizes você pode adicionar a ele, lembre-se de ser cauteloso!
Medidas de precaução antes de personalizar um arquivo .htaccess
Personalizar o código de um arquivo .htaccess
é bastante simples (especialmente com os trechos de código oferecidos no restante deste artigo), mas você ainda não deve entrar nisso com armas em punho.
Antes de fazer qualquer alteração, recomendo que você primeiro faça um backup do seu site WordPress. Para isso, você pode usar um plugin dedicado como o UpdraftPlus.
Em seguida, salve o conteúdo inicial do seu arquivo .htaccess
. Para fazer isso, você pode:
- Duplique o arquivo
.htaccess
em seu servidor em um arquivo.htaccess-initial
. - Copie o conteúdo do arquivo em um arquivo de texto, em seu computador.
Se você tiver um problema, poderá restaurar facilmente o conteúdo original.
Como modificar seu arquivo .htaccess corretamente.
Para fazer qualquer alteração, siga o procedimento abaixo:
- Abra o arquivo em seu editor de código.
- Coloque suas adições no arquivo.
- Salve isso.
- Atualize seu site para ver se está tudo bem.
Atualizar seu site é muito importante: ajudará a ver se há algum problema com o código adicionado.
Em geral, um erro 500 “Internal Server Error” aparecerá na tela, se houver algum problema:
Nesse caso, desfaça suas alterações e salve novamente. Tudo deve voltar ao normal.
Às vezes, alguns hosts não aceitam código específico no arquivo .htaccess
…
Você terá que lidar com isso.
Entre em contato com o atendimento ao cliente do seu host para saber mais. Espero que ele só precise de uma pequena modificação para fazê-lo funcionar.
Você está enfrentando um erro do WordPress, como o erro 500 típico e generalizado? O WPMarmite oferece um guia completo para resolver os principais.
Desta vez, está tudo bem. Você sabe como funciona um arquivo .htaccess
, como criá-lo e editá-lo corretamente.
Agora descubra como personalizá-lo em 5 lugares diferentes:
- Na raiz do site
- No
wp-admin
- Em
wp-includes
- Em
wp-content
- Em
wp-content/uploads
Vamos começar imediatamente com a raiz do site. Você verá, esta será a peça mais consistente.
Como em qualquer linguagem de computador, o arquivo .htaccess
permite incluir comentários. Para fazer isso, basta colocar o símbolo #
no início de uma linha para que a linha seja ignorada. Isso é muito útil para lembrar o que as linhas de código executam. Você verá comentários nos exemplos deste artigo.
Como personalizar o arquivo .htaccess na raiz de um site?
Se sua instalação correu bem, você encontrará um arquivo .htaccess
na raiz do seu site. Ele conterá o seguinte código:
Se você estiver usando o WordPress no modo multisite, o código padrão do arquivo .htaccess
será diferente. Isso não afetará você na maioria dos casos.
Agora que você localizou esse arquivo, poderá aprimorar seu conteúdo com os snippets de código abaixo para fazer algumas coisas específicas. Isso pode ser sobre segurança, mas também outras coisas.
Certifique-se de não incluir nenhum código entre os comentários # BEGIN WordPress
e # END WordPress
, pois é possível que este código seja modificado em alguns casos.
Outro lembrete: salve seu arquivo .htaccess
original antes de fazer qualquer alteração. Você precisa ser capaz de voltar se tiver algum problema.
Desativar diretórios de exibição
Por padrão, se você tentar acessar os diretórios de um site, o servidor os exibirá. A formatação ficará assim:
Você pode imaginar que isso é pão com manteiga para hackers. O fato de que eles podem ver os arquivos em seu site vai ajudá-los a melhor atacá-lo. Insira o seguinte código em seu arquivo .htaccess
para proteger seu site:
Também é possível usar este código para evitar a listagem de diretórios:
Ocultar informações do servidor
Com alguns provedores de hospedagem, as páginas exibidas podem conter informações do servidor. Essas informações podem fornecer detalhes para possíveis invasores.
Portanto, é melhor ocultá-los com o seguinte código:
Ative os seguintes links simbólicos
Devo estar falando bobagem completa para você, mas é importante inserir esta linha de código em seu arquivo .htaccess
principal:
Isso permitirá que seu servidor siga os chamados links simbólicos, ou seja, códigos de acesso.
Defina seu servidor para o horário correto
Isso não é realmente importante, mas se o seu servidor estiver no exterior, você pode dizer a ele para definir seu fuso horário com esta linha de código:
Definir codificação de caracteres padrão
O código a seguir permite definir a codificação de caracteres para arquivos de texto e HTML como UTF-8
(uma codificação de caracteres de computador). Sem isso, existe o risco de que os sotaques sejam mal interpretados.
Proteja wp-config.php
O arquivo de configuração do seu site ( wp-config.php
) contém as credenciais para se conectar ao banco de dados.
Este é o arquivo mais sensível do seu site. Pode ser alvo de hackers em potencial. Ele pode ser protegido adicionando este código ao arquivo .htaccess
principal:
Proteja o próprio arquivo .htaccess
Assim como o arquivo wp-config.php
, o arquivo .htaccess
deve ser protegido ao máximo. Para isso, insira este código:
Limitar spam de comentários
Você sabe tão bem quanto eu, se você tem um blog, o spam de comentários é uma verdadeira dor.
Felizmente, existe um truque para evitar isso diretamente no arquivo .htaccess
. Esta não é uma solução rápida, mas, combinado com o plugin Akismet, a maioria do spam deve ser filtrada.
Não se esqueça de substituir mywebsite.com
pelo seu nome de domínio.
Evitar a detecção do ID de um autor
Mesmo se você usar um login de usuário complexo, ele ainda poderá ser detectado.
Claro, estou assumindo que você ainda não está exibindo publicamente com seu tema (isso pode acontecer).
Tente digitar mywebsite.com/?author=x
substituindo x por 1 para o administrador ou o ID de um de seus autores. Se você não estiver protegido, será redirecionado para uma página como mywebsite.com/author/author_id
.
É assim que você encontra um ID de usuário em dois segundos. A partir daí, tudo o que resta é tentar adivinhar sua senha.
Para se proteger dessa técnica, use o seguinte código:
Desative o hotlinking de suas imagens
O que diabos é hotlinking? Não se preocupe, vou explicar tudo.
Basicamente, depois de adicionar imagens ao seu site (por exemplo, em um artigo), qualquer pessoa pode copiar o URL de uma de suas imagens e exibi-la em seu site.
Você pode pensar que isso não é tão ruim, mas se por algum motivo um site muito seguido pegar sua imagem e a exibir em uma de suas páginas, as solicitações serão feitas ao seu servidor.
Hotlinking está realmente roubando largura de banda. Se o seu site estiver instalado em um pequeno servidor compartilhado, seu host pode não gostar porque os recursos são limitados.
Para evitar o problema, insira e personalize este código em seu arquivo .htaccess
:
Para permitir que determinados sites exibam suas imagens, use o seguinte código:
Você também pode personalizar a imagem que será exibida no lugar da imagem solicitada. Eu adicionei algo simples, mas você pode ser mais criativo.
Banir endereços IP
Se você notou que alguns endereços IP estão tentando fazer login na administração do seu site com muita frequência (por exemplo, com o plugin Login Lockdown), você pode se livrar deles banindo seu endereço IP.
Você também tem a possibilidade de recuperar os endereços IP de spammers de comentários para bani-los do seu site.
Essa solução não é permanente, pois o invasor pode alterar o endereço IP, mas pode funcionar contra indivíduos menos qualificados.
Bloquear visitantes de determinados sites
Se você perceber que um site não compatível está vinculado ao seu e não quiser que os visitantes desse site tenham acesso ao seu site, use este código:
Redirecionar visitantes de um site para outro
Para levar a dica anterior um passo adiante, você pode redirecionar os visitantes de determinados sites para outro site.
Segue o código a ser usado:
Criar redirecionamentos
O arquivo .htaccess
permite fazer redirecionamentos (redirecionar URL A para URL B).
Isso é útil para redirecionar algumas páginas, mas se você quiser criar muitos redirecionamentos, recomendo o plugin WordPress Redirection, que apresentei neste artigo.
Como criar redirecionamentos no arquivo .htaccess
:
Redirecionar endereço sem www para um com www
Ao configurar um site, uma das ações a realizar primeiro é redirecionar o site sem o www
para a versão com o www
(ou vice-versa).
Se você fizer o teste na próxima vez que criar um site, descobrirá que os dois endereços não estão necessariamente vinculados ao seu site.
Em alguns casos, a empresa de hospedagem cuidará disso automaticamente, ou deve ser ativado através da página de administração do site de hospedagem (este é o caso do Gandi, por exemplo).
Se você precisar fazer esse redirecionamento manualmente, use o seguinte código substituindo mywebsite.com
pelo seu site:
Redirecionar endereço com www para um sem www
Por outro lado, se você não quiser o www
na frente do nome do seu site (como no WPMarmite), é possível redirecionar para a versão sem o www
.
Insira o seguinte código no arquivo .htaccess
:
Atenção : Não use este código com o anterior ou seu site sofrerá um loop de redirecionamento (pois a versão sem www
irá redirecionar para a versão com www
que irá redirecionar para a versão sem www
, etc.).
Redirecionar para HTTPS
Se você configurou um certificado SSL em seu site para alterá-lo para HTTPS, você precisa ter certeza de que todos os visitantes estão navegando na versão segura do seu site.
Caso contrário, informações confidenciais podem ser recuperadas por hackers (dados pessoais ou bancários, por exemplo).
Use o seguinte código para mudar todo o seu site para HTTPS:
Forçar download de arquivos específicos
Quando você deseja baixar um arquivo de um site, às vezes seu navegador tenta abri-lo para exibi-lo.
Pessoalmente, acho isso conveniente para arquivos PDF. Por outro lado, é muito desagradável para outros tipos de arquivos.
Insira o seguinte código para fazer com que seus visitantes baixem arquivos com essas extensões diretamente (modifique-os como quiser):
Criar uma página de manutenção personalizada
Em um artigo anterior, você descobriu uma seleção de plugins de manutenção. No entanto, há casos em que a página de manutenção não poderá ser exibida.
Isso é irritante, não é?
Para obter uma página de manutenção, você pode usar o seguinte código:
Para que isso funcione, você precisa:
- Crie um arquivo
maintenance.html
com conteúdo indicando que o site está em manutenção. - Adicione seu endereço IP na linha 4 (certificando-se de manter o “
\
”) para permitir que você acesse o site (descubra seu endereço IP neste site).
Quando a manutenção estiver concluída, coloque “ #
” na frente de cada linha para passá-los como um comentário.
Ativar cache
O arquivo .htaccess
permite que você armazene em cache certos arquivos em seu site no navegador do visitante para que eles carreguem mais rápido.
De fato, o navegador não precisará baixar novamente os arquivos em seu cache.
Para isso, insira o seguinte código:
O armazenamento em cache de arquivos será efetivo pela duração especificada para cada tipo de arquivo ou até que o visitante limpe seu cache.
Para acelerar seu site com cache, recomendo usar o plugin premium WP Rocket (link afiliado). Como é simples e rápido de configurar, é perfeito para iniciantes no WordPress. Com sua ajuda, você não precisará usar o snippet (pedaço de código) oferecido acima.
Permitir compressão
Além de tudo que vimos até agora, é possível compactar alguns recursos antes de serem transferidos do servidor para o navegador.
E a compactação de arquivos significa uma velocidade de carregamento de página mais rápida. Portanto, recomendo que você implemente este código para aumentar a velocidade do seu site:
Desabilitar o acesso a determinados scripts
Para funcionar, o WordPress usa scripts localizados no diretório wp-includes
. No entanto, não há razão para acessá-los diretamente. Use este código para limitar o acesso:
Proteção contra injeções de arquivos
Os hackers podem tentar enviar arquivos ao seu servidor para assumir o controle do seu site. Para jogar uma chave inglesa no caminho deles, você pode incluir este código em seu arquivo .htaccess
:
Proteção contra outras ameaças
No Facebook, Richard me disse que era possível se proteger contra clickjacking e outras ameaças adicionando algumas linhas no arquivo .htaccess
.
Para sua informação, clickjacking é uma técnica que ajuda a fazer um visitante acreditar que está em seu site, quando não está, usando tags frame
ou iframe
.
Portanto, o código a seguir ajuda a protegê-lo de clickjacking, combate outras ameaças como MIME Sniffing e bloqueia conteúdo em caso de ataque XSS (que injeta HTML ou JavaScript em variáveis mal protegidas).
E é isso, você acabou de passar por um monte de otimizações para incorporar no arquivo .htaccess
localizado na raiz do site.
Vamos em frente: novos pedaços de código para as pastas wp-admin
, wp-icludes
, wp-content
e wp-content/uploads
.
Como personalizar o arquivo .htaccess no wp-admin
wp-admin
é o covil do seu site. O lugar onde você vai para escrever artigos, configurar seus menus, configurar seu tema e muito mais.
Escusado será dizer que nenhuma pessoa não autorizada deve entrar neste paraíso. Caso contrário, cuidado com as consequências.
Aqui está o que você pode fazer para fortalecer a segurança com um arquivo .htaccess
que você coloca na pasta wp-admin
do seu site.
Limitar o acesso à administração do site
Somente pessoas com os IPs listados poderão acessar a pasta wp-admin
. Muito útil para evitar que estranhos entrem no seu site (mesmo que tenham a senha correta).
Adicionar uma segunda autenticação
Ao fazer login no administrador de um site WordPress, você usa um login e uma senha. Bem, é possível adicionar um segundo através do arquivo .htaccess
, e outro arquivo.
Primeiro, crie um arquivo chamado .htpasswd
no diretório wp-admin
e insira um par de nome de usuário e senha nele. Use este site para guiá-lo:
Digite o nome de usuário que deseja usar no primeiro campo e sua senha no segundo, depois clique em “Gerar arquivo .htpasswd
”.
Em seguida, copie a linha que aparecerá no arquivo .htpasswd
. Se você precisar criar vários usuários, repita o processo e adicione o novo par de nome de usuário/senha em uma nova linha.
Por exemplo, você pode obter este tipo de arquivo:
Em seguida, insira o seguinte código no arquivo .htaccess
:
A parte complicada desta operação é obter o caminho completo para o arquivo .htpasswd
correto. Para encontrá-lo com certeza, crie um arquivo info.php
e insira o seguinte código:
Vá para yourwebsite.com/wp-admin/info.php
e você obterá o caminho real do arquivo .htpasswd
a ser colocado no arquivo .htaccess
. Exclua o arquivo info.php
assim que encontrar o caminho correto.
Se você inserir esse código como está, as solicitações AJAX não funcionarão mais. Use o snippet abaixo para corrigir o problema :
Se você entendeu tudo o que acabei de mencionar, você deve ter autenticação dupla para acessar a administração do WordPress.
Vamos para a próxima parte.
Como personalizar o arquivo .htaccess no wp-includes?
Bloqueie o acesso direto a arquivos PHP
Crie um arquivo .htaccess
em wp-includes
e cole o seguinte código nele para evitar que arquivos PHP sejam carregados diretamente.
O código acima é fornecido pelo plugin Sucuri.
Como personalizar o arquivo .htaccess no wp-content?
Bloqueie o acesso direto a arquivos PHP
Para a pasta wp-content
, o código é semelhante, apenas com as exceções removidas:
Como personalizar o arquivo .htaccess em wp-content/uploads?
Bloqueie o acesso direto a arquivos PHP
Com este mesmo código, proteja a pasta onde a mídia está armazenada para evitar que arquivos PHP sejam executados por alguém de fora (um hacker maldoso, por exemplo).
Recapitulação final do arquivo .htacess no WordPress
Como você descobriu ao longo deste guia, o arquivo .htaccess
é uma ferramenta muito poderosa para configurar o servidor do seu site.
Quando manuseado com cuidado e cautela, pode melhorar a segurança, o desempenho, o SEO ou até mesmo a experiência do usuário do seu site.
O arquivo #htaccess do seu site #WordPress é uma ferramenta poderosa. Descubra como funciona e configure-o como um chef com as dicas do WPMarmite.
Mais uma vez, recomendo que você sempre mantenha um backup do seu arquivo .htaccess
original para fazer um reset caso haja algum problema.
Prossiga com suas alterações com extremo cuidado (eu terei avisado!). Erros ou incompatibilidades podem ocorrer dependendo do host do seu site.
Embora bastante coisa tenha sido abordada neste artigo, é possível ir mais longe na configuração do seu .htaccess
, usando vários recursos:
- A documentação do WordPress e a documentação do Apache (o software que executa seu servidor).
- O blog Perishable Press, que tem até um livro pago sobre o assunto.
Antes de me despedir, gostaria de sua opinião nos comentários. Você personalizou seu arquivo .htaccess
?
E o mais importante, sinta-se à vontade para compartilhar quaisquer trechos de código que você está acostumado a usar com outros leitores.