Desenvolvimento e bases de dados

O ficheiro .htaccess: o que precisa de saber

Revisto a 3 min de leitura .htaccess Apache

O ficheiro .htaccess permite personalizar determinadas opções do servidor web num diretório ou numa árvore de diretórios, entre as quais se destacam:

  • Personalizar páginas de erro
  • Configurar a listagem de ficheiros de um diretório
  • Adicionar regras para o mod_rewrite
  • Negar o acesso a determinados IPs
  • Adicionar tipos MIME
  • Fazer redirecionamentos
  • Alterar opções PHP quando o manipulador o permitir

Entre muitas outras possibilidades.

O ficheiro .htaccess atua de forma recursiva: se tiver um ficheiro .htaccess dentro de public_html com algumas personalizações, estas podem afetar também os seus subdiretórios. O comportamento concreto depende da diretiva e das regras dos diretórios inferiores; um segundo .htaccess não anula necessariamente todo o primeiro.

Qualquer diretório pode utilizar um ficheiro .htaccess: basta criar, por FTP ou com o gestor de ficheiros do cPanel, um ficheiro com o nome .htaccess (é importante incluir o ponto no início) e editá-lo como se fosse um ficheiro de texto simples.

Localizá-lo e editá-lo

  1. Confirme a raiz do domínio ou da pasta que quer configurar; nem todos os domínios de uma conta utilizam diretamente public_html.
  2. No gestor de ficheiros, ative a apresentação de ficheiros ocultos. O nome começa por um ponto e não deve terminar em .txt.
  3. Se já existir, descarregue uma cópia privada antes de o editar. Não substitua todo o conteúdo por um exemplo que só contém uma regra.
  4. Adicione a alteração fora dos blocos que a aplicação regenera, salvo se a documentação desta indicar outra coisa.
  5. Guarde, teste o URL afetado e verifique também uma página que não deva mudar.

O servidor tem de permitir a diretiva nesse contexto. Uma regra válida na configuração principal do Apache pode não ser permitida no .htaccess. Na Hostsuar, o LiteSpeed interpreta as regras compatíveis; utilize instruções adequadas ao serviço.

Se aparecer um erro depois de editar

Reponha o conteúdo anterior e confirme que o site recupera. Consulte o registo para localizar erros de sintaxe ou diretivas não admitidas. Não altere as permissões para 777 nem apague todas as regras para resolver um erro 500.

Num redirecionamento, verifique também o destino, o código HTTP e se se forma um ciclo. O navegador ou uma cache podem manter um redirecionamento anterior; teste sem essa cache antes de concluir que a regra não funciona.

Consulte os guias de mod_rewrite e de página de manutenção para tarefas concretas.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.