O que é .htaccess
O ficheiro.htaccess é um poderoso ficheiro de configuração utilizado pelos servidores Web Apache para controlar o comportamento do servidor por diretório. Com o .htaccess, pode gerir redireccionamentos, reforçar a segurança, controlar o acesso e personalizar as páginas de erro, entre outras funcionalidades. Aqui está uma visão geral do que é o .htaccess, como ele funciona e alguns casos de uso comuns.
1. Entendendo o .htaccess
O ficheiro .htaccess (abreviatura de “hypertext access”) é um ficheiro oculto localizado no diretório raiz do seu sítio web ou em qualquer subdiretório onde pretenda controlar o comportamento do servidor Apache. Aplica imediatamente as configurações a todos os ficheiros e diretórios dentro do diretório onde se encontra. Quando um utilizador acede a um sítio Web, o servidor Apache lê os ficheiros .htaccess para aplicar as definições especificadas.
2. Criando um arquivo .htaccess
Para criar um arquivo .htaccess:
- Utilize um editor de texto (como o Notepad ou o Nano) para criar um ficheiro com o nome .htaccess (sem extensão).
- Coloque-o no diretório de raiz do seu sítio Web (frequentemente designado por public_html ou www) ou em qualquer diretório onde pretenda aplicar regras específicas.
Certifique-se de que o ficheiro tem o nome exato .htaccess (com um ponto no início) e que é guardado como um ficheiro de texto simples.
3. Utilizações comuns de .htaccess
Aqui estão algumas das funções mais comuns que podem ser executadas com .htaccess:
Redirecionar URLs
Os redireccionamentos são utilizados quando uma página é movida, renomeada ou eliminada, ajudando a direcionar os utilizadores e os motores de busca para a localização correta.
Exemplo: Redireccionamento para uma nova página
Redirect 301 /old-page.html https://www.example.com/new-page.html
Este comando cria um redireccionamento 301 (permanente) de old-page.html para new-page.html.
Ativar a reescrita de URL
A reescrita de URL torna os URLs mais legíveis ao ocultar os parâmetros de consulta. É normalmente usado para criar URLs amigáveis para SEO.
Exemplo: Reescrita de URL
RewriteEngine On RewriteRule ^products/([a-zA-Z] )$ product.php?item=$1 [L]
Este comando reescreve exemplo.com/produtos/item-nome para exemplo.com/produto.php?item=item-nome.
Configurando páginas de erro personalizadas
Você pode usar .htaccess para especificar páginas de erro personalizadas para diferentes erros HTTP, como 404 (não encontrado) ou 500 (erro do servidor).
Exemplo: Página de erro 404 personalizada
ErrorDocument 404 /404.html
Quando uma página não for encontrada, esta configuração apresentará 404.html.
Restringir o acesso por endereço IP
Controle o acesso ao seu site, permitindo ou bloqueando endereços IP específicos.
Exemplo: Bloqueio de um endereço IP
Deny from 192.168.1.100
Exemplo: Permitir apenas IPs específicos
Order Deny,Allow Deny from all Allow from 192.168.1.101
Este comando bloqueia todos os IPs, exceto 192.168.1.101.
Aplicação de HTTPS
Pode forçar todos os utilizadores a aceder ao seu site de forma segura utilizando HTTPS em vez de HTTP.
Exemplo: Redireccionamento HTTPS
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Isto assegura que quaisquer pedidos HTTP são redireccionados para HTTPS.
4. Considerações sobre segurança e desempenho
- Permissões de arquivo: Defina permissões apropriadas (geralmente 644) no arquivo .htaccess para evitar acesso não autorizado.
- Impacto no desempenho: Como o .htaccess é carregado para cada solicitação, regras excessivas ou complexas podem afetar o desempenho do servidor. Limite o número de regras e use o arquivo apenas quando necessário.
- Regras específicas de diretório: Coloque os arquivos .htaccess apenas nos diretórios em que você precisa de regras específicas para minimizar o impacto no desempenho.
5. Teste e solução de problemas de regras .htaccess
A sintaxe incorrecta do .htaccess pode causar erros no servidor. Para evitar problemas:
- Teste as alterações: Faça uma alteração de cada vez e teste o efeito.
- Use os registos de erros: Verifique os registos de erros do Apache (/var/log/apache2/error.log no Ubuntu) para diagnosticar problemas de configuração.
- Desativar alterações temporárias: Comente (#) quaisquer regras temporárias ou de teste para as desativar sem apagar.
Conclusão
O ficheiro .htaccess fornece uma forma versátil de configurar o comportamento do servidor para o seu sítio Web. Com funções para redireccionamentos, segurança, páginas de erro personalizadas e reescrita de URL, o .htaccess é uma ferramenta essencial para os administradores Web. No entanto, lembre-se de testar as configurações cuidadosamente para evitar erros no servidor e problemas de desempenho.