Ao utilizar o arquivo .htaccess, você pode essencialmente controlar diversos aspectos do servidor web Apache, assim como suas múltiplas variantes. Este guia sobre o que é o arquivo .htaccess mostrará como configurar páginas de erro personalizadas, redirecionamentos, proteger diretórios com senha e muito mais.
O que é o arquivo .htaccess?
O arquivo .htaccess refere-se ao arquivo de configuração que controla precisamente como um servidor web responde a inúmeras requisições. Vários servidores web geralmente o suportam, e isso inclui o popularíssimo servidor web Apache, que é primariamente utilizado por quase todos os provedores de hospedagem comercial.
Em outras palavras, o que é o arquivo .htaccess? é um arquivo de configuração que reside em um diretório específico e indica quais grupos de usuários ou usuários podem ter permissão ou acesso aos arquivos contidos dentro desse diretório.
O arquivo .htaccess geralmente funciona no nível de um diretório, permitindo que prevaleçam sobre as configurações globais de diretivas .htaccess que estão em um nível superior na árvore de diretórios.
Se você instalou um CMS (Sistema de Gerenciamento de Conteúdo) como WordPress, Joomla ou Drupal, muito provavelmente já se deparou com o que é o arquivo .htaccess?. Talvez você não tenha precisado editá-lo, mas foi um dos arquivos que você teve que enviar para o seu servidor web.
A propósito, seu nome – por exemplo, .htaccess – começa com um ponto e termina com ‘htaccess’. Se você tentar editá-lo, precisa garantir que ele permaneça assim. E precisa ter certeza de que não terminará com uma extensão .html ou .txt.
Você também deve observar que alguns provedores de hospedagem não permitem que você edite o arquivo .htaccess. Mas, na maioria desses provedores, você pode criar seu próprio arquivo .htaccess e até mesmo enviá-lo para diretórios específicos ou escolhidos. Ele controlará esses diretórios, bem como os subdiretórios abaixo deles.
Arquivos .htaccess são escritos na linguagem de programação Apache. Você não precisa ter um conhecimento profundo ou completo da linguagem, pois pode ser incrivelmente frustrante.
Não é apenas uma linguagem de programação muito desafiadora de aprender, mas também porque não fornece nenhuma mensagem de erro descritiva. Ele apenas preparará uma página que será estilizada da mesma forma que um erro de servidor.
Um pequeno erro em um .htaccess pode causar uma quantidade significativa de tempo de inatividade, especialmente se você não conseguir resolvê-lo o mais rápido possível. E por esse motivo, seus dedos ágeis precisam estar muito próximos das teclas CTRL+Z e sempre manter backups, se necessário.
Algumas funcionalidades do arquivo .htaccess incluem o seguinte:
- Capacidade de proteger pastas com senhas
- Impedir listagens de diretórios
- Permitir ou banir usuários que utilizam endereços IP.
- Redirecionar usuários para outro diretório ou página automaticamente
- Criar e usar páginas de erro personalizadas
- Alterar a forma como arquivos com certas extensões são utilizados.
- Utilizar um arquivo diferente como arquivo de índice, especificando o arquivo específico ou a extensão do arquivo.
Por que se chama .htaccess?
O arquivo .htaccess é mais conhecido como ‘hypertext access’ (acesso de hipertexto). Este nome foi cunhado a partir do uso original da ferramenta, que é controlar o acesso de usuários a arquivos específicos em uma base por diretório.
Utilizando um subconjunto das diretivas de configuração ‘http.conf’ do Apache, o .htaccess permitiu que um administrador de sistema limitasse o acesso a diretórios independentes a usuários com nomes e senhas especificados em um arquivo .htaccess associado.
Embora os arquivos .htaccess sejam um tanto utilizados para isso, eles também são empregados para várias outras coisas.
Como o .htaccess é utilizado?
O .htaccess pode ser usado para o seguinte:
- Ativar proteção por senha para páginas ou diretórios de websites
- Redirecionar visitantes de forma permanente ou temporária de uma página para outra.
- Impedir que outros desenvolvedores web utilizem diretamente suas imagens para não pagar pela largura de banda, também conhecido como hotlinking
- Melhorar o SEO por meio de políticas consistentes de barra invertida no final das URLs
- Informar os navegadores das pessoas sobre as datas de expiração de seus arquivos web, para que não continuem baixando-os sem um motivo específico (cache-control)
- Impedir que algumas pastas sejam pesquisadas abertamente por visitantes.
- Utilizar um arquivo diferente como arquivo de índice, especificando o arquivo específico ou a extensão do arquivo.
- Impedir listagens de diretórios
- Forçar seu website a usar HTTPS em vez de HTTP
- Criar e exibir páginas de erro personalizadas, como páginas 404, etc.
Quando se trata de melhorar o SEO por meio de uma política consistente de barra invertida no final das URLs, você – como webmaster – pode optar por ter uma barra invertida no final de cada URL em um website ou não.
Tenha em mente que o arquivo .htaccess é uma maneira fácil e rápida de modificar ou alterar a configuração principal do Apache. Isso implica que o arquivo de configuração principal decide o que pode ser ajustado diretamente do arquivo .htaccess.
Há uma desvantagem bem conhecida no uso do que é o arquivo .htaccess?: ele torna o Apache mais lento e, portanto, prejudica a experiência dos visitantes do seu site. Isso ocorre porque é um arquivo que precisa ser lido a cada visita. Além disso, pode tornar sua hierarquia de pastas um tanto caótica para controlar e atualizar.
O seguinte também é crucial ter em mente:
- Em geral, você deve reduzir o número de arquivos .htaccess em seu servidor web. Isso ocorre porque ter muitas configurações nesse servidor pode torná-lo significativamente mais lento.
- Arquivos .htaccess que estão em um nível superior no caminho do arquivo sempre têm precedência.
- Quando seu servidor web encontra um o que é o arquivo .htaccess? dentro de um diretório, ele começa a procurar arquivos .htaccess em todos os diretórios pai também. E isso aumenta consideravelmente o uso de recursos do servidor.
Onde você pode encontrar o arquivo .htaccess?
Teoricamente, cada diretório em seu servidor pode ter um arquivo .htaccess. No entanto, como regra geral, haverá um em sua pasta raiz da web – ou seja, a pasta que contém todo o conteúdo do seu site – e geralmente é rotulada com algo como ‘public_html’ ou ‘www’.
Se você tiver apenas uma única pasta ou diretório que contém vários subdiretórios do website, geralmente haverá um arquivo .htaccess localizado na raiz principal – ou seja, public_html – e também um em cada subdiretório, por exemplo, /nomesite.
Mas não consigo encontrar meu arquivo .htaccess
Então, o que acontece se você não conseguir encontrar seu o que é o arquivo .htaccess?, você pergunta? O que talvez você não saiba é que, na maioria dos sistemas de arquivos, os nomes de arquivos geralmente começam com um ponto. E eles são arquivos ocultos, o que significa que geralmente não são visíveis por padrão.
No entanto, não é tão difícil acessá-los. Seu gerenciador de arquivos ou cliente FTP deve exibir uma configuração para ‘mostrar arquivos ocultos’. Isso pode estar em lugares diferentes e outros programas. No entanto, geralmente está em ‘Configurações’, ‘Opções de Pasta’ ou ‘Preferências’. Às vezes, você pode encontrá-lo no menu ‘Visualizar’.
E se eu não tiver um arquivo .htaccess?
A primeira coisa que você precisa fazer é ativar a opção ‘mostrar arquivos ocultos’ – ou seu equivalente. Isso é para garantir que você realmente não tenha um. Na maioria dos casos, os arquivos .htaccess são criados automaticamente, então você geralmente terá um. Mas nem sempre é o caso.
Se você descobrir que não tem um, pode criá-lo facilmente seguindo os passos descritos abaixo:
- Crie um editor de texto simples. Este será um novo arquivo.
- Salve o editor de texto simples em formato ASCII – e NÃO em UTF-8 ou qualquer outro formato – como .htaccess.
- Certifique-se de que o editor de texto simples não seja salvo como ‘.htaccess.txt’ ou algo parecido. O arquivo deve ter um único nome, ou seja, .htaccess, sem nenhuma extensão de arquivo adicional.
- Envie o arquivo para o diretório apropriado através do gerenciador de arquivos baseado em navegador ou FTP.
Código de erro: O que é?
Um dos principais usos do arquivo .htaccess é redirecionar qualquer usuário para uma página de erro personalizada, embora isso dependa do erro específico do servidor web que eles encontrarem.
Ao utilizar uma página de erro personalizada, você pode apresentá-los juntamente com uma lista dos artigos de melhor desempenho do seu website, bem como um sitemap com hiperlinks para outras áreas do seu site. E pode até incluir o sistema de navegação do seu website.
Pode apresentar uma página de perguntas frequentes (FAQ) para que os visitantes que procuram informações relevantes ou específicas em seu site, mas não conseguem encontrá-las, possam restringir a localização dessa informação específica em seu website sem sair da página, voltar ao Google ou qualquer outro mecanismo de busca de sua preferência e, muito provavelmente, nunca mais retornar ao seu website.
Quando um usuário envia uma solicitação a um servidor web, este tenta responder rapidamente a essa solicitação. Isso ocorre através da entrega de um documento – se tiver a ver com páginas HTML – ou através do acesso a um aplicativo e do retorno da saída quando se trata de CMS e outras aplicações web.
Se algo der errado, ele gera um erro. Diferentes tipos de erros aparecem com vários códigos de erro. Você provavelmente está familiarizado com o geralmente frustrante erro 404, que é causado se um documento não puder ser encontrado no servidor.
Existem vários outros códigos de erro com os quais qualquer servidor pode responder. Aqui estão eles, sem nenhuma ordem específica:
Erros de Servidor
- 500: Internal Server Error (Erro Interno do Servidor)
- 501: Not Implemented (Não Implementado)
- 502: Bad Gateway (Gateway Inválido)
- 503: Service Unavailable (Serviço Indisponível)
- 504: Gateway Timeout (Tempo Limite do Gateway Excedido)
- 505: HTTP Version Not Supported (Versão HTTP Não Suportada)
Erro de Requisição do Cliente
- 400: Bad Request (Requisição Inválida)
- 401: Authorization Required (Autorização Necessária)
- 402: Payment Required (Pagamento Necessário – ainda não utilizado)
- 403: Forbidden (Proibido)
- 404: File Not Found (Arquivo Não Encontrado)
- 405: Method Not Allowed (Método Não Permitido)
- 406: Not Acceptable (Não Aceitável – codificação)
- 407: Proxy Authentication Required (Autenticação de Proxy Necessária)
- 408: Request Timed Out (Tempo Limite da Requisição Excedido)
- 409: Conflicting Request (Requisição Conflitante)
- 410: Gone (Removido)
- 411: Content-Length Required (Comprimento do Conteúdo Necessário)
- 412: Precondition Failed (Pré-condição Falhou)
- 413: Request Entity Too Long (Entidade da Requisição Muito Longa)
- 414: Request URI Too Long (URI da Requisição Muito Longa)
- 415: Unsupported Media Type (Tipo de Mídia Não Suportado)
Como editar seu arquivo .htaccess
Se houver necessidade de editar seu arquivo .htaccess, talvez você precise baixar o arquivo existente utilizando seu cliente FTP ou através do sistema de arquivos do seu host, por exemplo, dentro do cPanel.
O arquivo .htaccess do seu site já pode conter configurações de vital importância. Se o seu arquivo .htaccess tiver configurações existentes, adicione o novo código ao que já estiver lá.
Por favor, observe: não exclua o arquivo .htaccess existente, a menos que esteja vazio ou você tenha 100% de certeza de que pode se desfazer dele.
Tratamento de Erros (padrão)
Se você não especificar ou definir nenhum tipo de tratamento de erros, o servidor retornará a mensagem ao navegador. E o navegador exibirá uma mensagem de erro genérica para você, o usuário. Isso, é claro, geralmente não é o ideal.
Especificando Documentos de Erro
Para especificar documentos de erro, comece criando um documento HTML para cada código de erro que você deseja tratar. Nomeie-os como quiser; no entanto, nomeá-los com algo que você possa lembrar facilmente seria útil.
No arquivo .htaccess, especifique qual documento utilizar para cada tipo de erro. Por exemplo:
ErrorDocument 400 /erros/requisicao-invalida.html
ErrorDocument 401 /erros/autenticacao-necessaria.html
ErrorDocument 403 /erros/proibido.html
ErrorDocument 404 /erros/nao-encontrado.html
ErrorDocument 500 /erros/erro-servidor.html
Você notou que cada diretiva está em sua própria linha? É assim que deve ser.
Redirecionando URLs com o arquivo .htaccess
Se você decidir alterar a organização do seu website ou nomes de domínio, pode configurar facilmente redirecionamentos de URL para garantir que seus visitantes não fiquem confusos. E uma das maneiras mais fáceis é através de arquivos .htaccess.
Para editar o arquivo .htaccess, você terá que recriar o arquivo e depois enviá-lo para o servidor usando SFTP. Siga os passos descritos abaixo:
- Passo 1: Faça login no seu servidor web via SFTP.
- Passo 2: Localize e baixe seu arquivo .htaccess. Geralmente, você o encontrará na pasta de conteúdo. Se você não tiver um arquivo .htaccess, pode criar facilmente um arquivo chamado ‘.htaccess’ no seu computador para armazenar suas configurações.
- Passo 3: Abra o arquivo usando seu editor de texto favorito.
- Passo 4: Adicione as seguintes linhas ao seu arquivo:
# ativa a reescrita básica RewriteEngine on
- Passo 5: Copie e cole as novas configurações no arquivo .htaccess e salve o arquivo.
- Passo 6: Envie este arquivo de volta para o diretório de onde você originalmente pegou seu arquivo .htaccess.
- Passo 7: Teste seu trabalho visitando seu site e visualizando as páginas que você deseja redirecionar.
Você também pode utilizar o que é o arquivo .htaccess? para redirecionar páginas independentes em seu site usando redirecionamentos 301 e até mesmo 302. O arquivo .htaccess é uma das ferramentas mais poderosas que você pode utilizar para SEO on-site. É altamente essencial para qualquer webmaster – que entende do assunto – estar ciente deste arquivo e poder fazer o necessário quando for crucial.