O guia para iniciantes em .htaccess

Publicados: 2023-10-25

.htaccess – a palavra assustadora que todo mundo que possui um site já ouviu de vez em quando. Embora o próprio nome pareça técnico demais para ser compreendido, é uma ferramenta poderosa para se ter em seu arsenal. Ao controlar o .htaccess, como ele funciona e os possíveis casos de uso, há coisas mais do que suficientes que você pode fazer com ele sem esforço. Vamos nos aprofundar no que é, como você pode usá-lo em seu benefício e obter os exemplos e explicações mais úteis para os usos mais comuns do .htaccess!

O que é .htaccess?

Abreviação de “acesso hipertexto”, o .htaccess é um arquivo de configuração que pode ajudá-lo a controlar o software Apache Web Server. Você pode criar o arquivo .htaccess e adicioná-lo ao diretório para que seja carregado e posteriormente executado pelo Apache Web Server.

Simplificando, você pode usar este arquivo para ativar ou desativar qualquer funcionalidade que o servidor Web tenha a oferecer. Desde o redirecionamento básico ou a prevenção de hotlinks, há vários benefícios em começar a trabalhar com .htaccess.

Qual é a aparência do arquivo .htaccess?

O arquivo .htaccess é o que você faz dele. Pode conter apenas uma linha ou várias, dependendo da finalidade do arquivo. Há muitas coisas que você pode escrever no arquivo para fazer muitas coisas, alguns dos exemplos que você encontrará à medida que lê.

Eu já tenho um?

Na maioria dos casos, se você possui um site, provavelmente já possui um arquivo .htaccess. Geralmente você pode encontrá-lo na pasta raiz do seu site. Basta ir até a pasta que contém todo o conteúdo do seu site e procurar a pasta Public_HTML ou uma pasta chamada www. Se você tiver subdiretórios para vários sites, encontrará um em cada subdiretório.

Se você não conseguir encontrá-lo, não se preocupe. Isso não significa que você não o tenha – ele pode simplesmente estar oculto. Geralmente esse é o caso de arquivos que começam com um ponto, assim como faz o .htaccess. Por padrão, eles geralmente não são fáceis de detectar.

Basta ir ao seu gerenciador de arquivos ou cliente FTP e procurar a opção “mostrar arquivos ocultos”. Não deixe nenhuma opção desmarcada, principalmente “Preferências”, “Configurações” ou “Opções”.

Parece que não tenho um.

Ainda assim, não se preocupe, porque você pode criar um sem esforço. O que você precisa é de um editor de texto normal e de atenção aos detalhes. Você pode usar o Microsoft WordPad ou TextPad, por exemplo. A parte complicada, porém, é nomear e salvar seu arquivo .htaccess corretamente.

Primeiro, você precisa salvá-lo no formato adequado. Deve estar no formato ASCII, portanto resista à tentação de salvá-lo como UTF-8 ou qualquer outro formato.

Em segundo lugar, certifique-se de que se chama .htaccess. Isso parece bastante simples, mas é aqui que a atenção aos detalhes entra em ação. Você quer ter certeza de manter o ponto no início. A próxima etapa é certificar-se de não incluir nenhuma extensão de arquivo. Salvá-lo como “htaccess.txt” não chegará à linha de chegada. Adicione o ponto e remova a extensão!

Por último, você deseja carregá-lo no diretório apropriado. Você pode voltar ao guia e salvá-lo em um dos diretórios mencionados acima. Para fazer isso, você pode usar FTP ou qualquer outro gerenciador de arquivos baseado em navegador com o qual se sinta confortável.

O que posso fazer com .htaccess?

Existem várias coisas que você pode conseguir com .htaccess e um pouco de conhecimento. Aqui estão alguns deles:

Tratamento de erros

A primeira coisa, e uma das mais simples, que você pode fazer com .htaccess, é garantir que seus visitantes vejam uma mensagem de erro amigável e personalizada, em vez de uma mensagem assustadora.

O que você deseja fazer é criar primeiro um documento HTML. Recomenda-se que contenha a descrição do erro, por exemplo, “Not Found” para erros 404 ou “Bad Gateway” para erros 502. Porém, a verdade é que você pode exibir qualquer conteúdo que desejar.

Você também deve nomeá-lo corretamente para saber qual documento se trata. Se estiver lidando com o erro 404, a maneira comum de salvá-lo é como 404.html. Você também deseja salvá-lo no diretório error_pages, que deve conter todos os documentos de erro.

Quando estiver pronto, você deve abrir seu arquivo .htaccess em um editor de sua preferência e digitar algo assim:

Documento de erro 404 /error_pages/404.html

Esta linha dirá ao servidor do seu site para exibir o documento designado sempre que ocorrer um erro 404. Você pode repetir esse processo com qualquer documento de erro que desejar, para garantir que seus visitantes não fiquem frustrados com a mensagem excessivamente simples e genérica que normalmente receberiam.

Redirecionamentos simples

Embora o WordPress possa ter muitos plug-ins para fazer isso para você, você também pode redirecionar seus visitantes usando o arquivo .htaccess. Levar seus visitantes à página que você especificou, em vez daquela que eles solicitaram, é outra tarefa simples. Ao inserir outra linha no arquivo, você pode redirecionar seus visitantes para outro local do seu site ou até mesmo para outro site.

Para redirecioná-los, aqui está um exemplo do que você pode adicionar ao arquivo .htaccess. Você deve, é claro, editá-lo um pouco para atender às suas necessidades.

Redirecionar /old_dir/ http://www.seudominio.com/new_dir/index.html

Vamos explicar isso para que você saiba como personalizar isso para garantir que seus visitantes cheguem onde você deseja.

Primeiro, qual seria o /old_dir/? É um diretório ou documento localizado no seu domínio, ou, mais precisamente, estaria localizado em 'http://www.seudominio.com/old_dir/'. Este é o ponto que seus visitantes tentarão acessar. O restante do arquivo especifica onde eles devem terminar. Nesse caso, eles irão parar na página de índice do /new_dir/ do seu site.

Como você pode ver, diferentemente do ponto de partida, a página que você deseja que seus usuários acessem é um URL completo. Isso ajuda no redirecionamento para outro domínio, pois você pode usar qualquer URL e adicioná-lo em vez do exemplo. É moleza, não é?

Proteção de senha

Se você deseja construir uma comunidade em torno do seu site, oferecer uma área de membros e fazer com que os visitantes façam login pode ser a solução. Embora a comunidade seja uma ótima opção em relação aos seus esforços de marketing e vendas, ela também pode ajudar a gerar uma ideia de quem são seus usuários e a coletar as informações necessárias sobre seus clientes.

Contanto que você esteja em conformidade com o GDPR, você pode usar este truque interessante para editar sua oferta com base nas informações coletadas e, no final, vender mais!

Como proteger com senha?

A oportunidade de adicionar uma senha a qualquer coisa em seu site é a forma mais comum de usar arquivos .htaccess. Também é bastante simples de fazer e, ainda assim, você pode proteger com senha um ou alguns diretórios. Isso fará com que os usuários tenham um nome de usuário e uma senha válidos para acessá-lo, o que pode ser bastante útil em diversas situações.

Se você configurar a proteção por senha para diretórios, o procedimento de login será bastante simples e seu navegador irá lidar com isso automaticamente. Ele aparecerá como uma interface pop-up do navegador. As senhas também são criptografadas, portanto as credenciais de login também estarão seguras.

Se você sabe qual diretório deseja proteger com senha, vá em frente e crie um arquivo .htaccess. Lembre-se de que todos os subdiretórios também serão protegidos por senha! As mesmas regras se aplicam aqui também, mas você gostaria de incluir o seguinte:

AuthName “Nome do membro”

AuthUserFile /caminho/para/senha/arquivo/.htpasswd

AuthType Básico

requer usuário válido

Vamos decompô-lo para que você saiba como modificá-lo, se necessário. Na primeira linha, este arquivo .htaccess especifica o nome do diretório que você deseja proteger. Neste caso, é o diretório “Nome do Membro”, mas você deve modificá-lo para caber no nome de um diretório que precisa estar sob uma senha.

A segunda linha especifica o arquivo de senhas ou, para ser mais preciso, onde o servidor pode encontrar o arquivo de senhas. O terceiro é o tipo de autorização que você está usando. No exemplo, é básico, significando autenticação HTTP básica.

A última linha representa os requisitos para login. Neste exemplo, são necessárias credenciais de login válidas. Você pode especificar aqui o que é necessário para ser válido, dependendo do que você está tentando proteger com senha.

O arquivo de senha

Agora, você precisa descobrir o arquivo de senha. Embora possa estar localizado em qualquer lugar do seu servidor web, é recomendável ter o arquivo de senha localizado no mesmo diretório do arquivo .htaccess. Isso ocorre porque alguns dos servidores exigem que isso seja configurado. Você deve usar o caminho completo para o diretório que contém o arquivo de senha na segunda linha.

Claro, isso também significa que você deve ter o arquivo de senha pronto. No exemplo, é chamado .htpasswd, mas você pode chamá-lo como quiser. Ainda assim, se você der o mesmo nome, a boa notícia é que o servidor reconhecerá esse nome de arquivo e o ocultará dos visitantes automaticamente. O arquivo de senha deve conter algo como:

nome de usuário:senha criptografada

john_smith:oCF9Pam/MXJg2

Negar acesso a visitantes

Mesmo com sites, existem persona-non-grata. Com o arquivo .htaccess correto, você pode limitar o acesso de alguém. Ou, por outro lado, permitir acesso específico a um visitante específico. O primeiro é bastante útil se você deseja proteger o seu site, e o último é perfeito se você deseja ter controle total sobre os aspectos específicos do seu site.

Você pode negar acesso aos visitantes de duas maneiras. Negue o acesso aos seus visitantes dependendo do endereço IP ou você pode fazer uma seleção com base no referenciador.

Negando por IP

Se você deseja colocar algum IP na lista negra, pode fazê-lo facilmente com a ajuda do seu arquivo .htaccess. Crie um novo, seguindo as mesmas regras, e a seguir adicione o seguinte texto.

ordenar permitir, negar

negar de XXX.XXX

negar de XXX.XX.X.

permitir de todos

Claro, você deve substituir os X pelo endereço IP que deseja bloquear. Adicione quantos forem necessários e este arquivo informará ao servidor Web que esses endereços IP não são bem-vindos em seu site. Certifique-se de adicionar permitir de todos, pois esta linha significa que outros visitantes são mais que bem-vindos ao seu site.

Por outro lado, se quiser ser o único com acesso, deverá incluir o seguinte texto:

ordenar permitir, negar

permitir de XXX.0.0.0

negar de todos

Claro, você deve substituir os X pelo seu próprio endereço IP. Este dirá ao servidor que somente você deve ter acesso a um local específico.

Negando por referenciador

Olhando seus registros, você percebe atividades suspeitas. Por que você simplesmente não adiciona o referenciador à lista negra e tira a preocupação de suas mãos? Veja como você pode fazer isso com .htaccess.

Basta criar o arquivo como faria normalmente. A entrada deve ficar assim:

RewriteEngine ativado

# Opções + Seguir links simbólicos

ReescreverCond %{HTTP_REFERER} outrodomínio\.com [NC]

RewriteRule .* – [F]

Isso deve funcionar! Você deve verificar se o 'mod_rewrite' está habilitado em seu servidor, pois pode estar desabilitado devido ao fato de que pode colocar uma grande demanda nos recursos. Se for, você deve verificar com seu provedor de hospedagem.

Em essência, essas linhas informam ao servidor que ninguém de otherdomain\.com é bem-vindo em seu site. Claro, você deve adicionar o domínio apropriado aqui. A parte '[NC]' no final também é muito importante, pois permite saber que o nome de domínio que você forneceu não diferencia maiúsculas de minúsculas. O que significa que “OtherDomain” também está fora dos limites.

Se você deseja bloquear vários criadores de problemas, adicione '[NC,OR]' e, em seguida, vá em frente e adicione outro da mesma maneira:

ReescreverCond %{HTTP_REFERER} outrodomínio\.com

Você pode continuar fazendo isso até ficar satisfeito, mas não se esqueça de adicionar '[NC,OR]' no final de cada um, exceto no último.

Impedindo que Bad Bots verifiquem seu site

Outro motivo perfeito para usar .htaccess é evitar rastreadores em seu site. Embora existam aqueles inofensivos, que baixam todo o conteúdo para navegar offline, existem aqueles com intenções maliciosas. Ou seja, a Internet está cheia de bots mal-intencionados, em busca de endereços de e-mail para preencher com e-mails de spam, falhas de segurança ou simplesmente para obter conteúdo.

Embora isso seja um pouco mais avançado do que os exemplos anteriores, você definitivamente deveria tentar. Impedir que esses bots ruins lhe causem algum dano é uma obrigação, de uma forma ou de outra.

Basta criar outro arquivo .htaccess como fez nos exemplos anteriores. O que você precisaria escrever é semelhante a isto:

RewriteEngine ativado

ReescreverCond %{HTTP_USER_AGENT} ^BlackWidow [OR]

ReescreverCond %{HTTP_USER_AGENT} ^SuperBot

ReescreverRegra ^.* – [F,L]

A verdade é que a lista deveria ser muito mais longa, pois deveria incluir todos os batbots conhecidos. Você pode encontrar essa lista aqui. Quanto mais deles você incluir, melhor.

Ainda assim, certifique-se de renomeá-lo – use o nome do bot em vez de BlackWidow ou SuperBot. Sempre inclua [OR] no final de cada um, mas tome cuidado para não usá-lo com o último. Voilá! Seu site está livre de todos esses rastreadores maliciosos!

Há mais?

Claro que existe. Como dito, afinal, este é um guia para iniciantes. Há muitas coisas adicionais que você pode fazer com os arquivos .htaccess.

Por exemplo, você pode usar arquivos .htaccess para definir o fuso horário do servidor ou alterar sua assinatura. Se o seu site depende muito de mídia, você pode usá-lo para garantir que todos os arquivos de mídia sejam baixados, em vez de reproduzidos. Ou você pode usá-lo para evitar solicitações que incluam caracteres inválidos e muito mais.

Embora até mesmo tentar soletrar .htaccess seja problemático, usar um, como você pode ver, é moleza, embora você ainda possa realizar muito com ele!

O que você deve ter em mente ao criar e editar seu arquivo é testá-lo completamente depois de fazer qualquer alteração antes de colocá-lo no ar. Você não quer fornecer aos seus usuários o erro interno do servidor 500, quer?

O último conselho

Mesmo que algo não funcione corretamente, não fique muito frustrado. Verifique se há erros de digitação, isso geralmente resolve! Caso contrário, verifique os fóruns de suporte!