4.9 KiB
📁 Guia do .htaccess - Avanzato Tecnologia
O que é o .htaccess?
O .htaccess é um arquivo de configuração do Apache (servidor web) que controla:
- ✅ Redirecionamentos
- ✅ Compressão de arquivos
- ✅ Cache do navegador
- ✅ Segurança
- ✅ Performance
📂 Onde colocar o arquivo?
/public_html/ ← Raiz do seu site
├── .htaccess ← COLOQUE AQUI
├── index.html
├── assets/
└── ...
IMPORTANTE: O arquivo deve estar na mesma pasta do index.html
📋 Arquivos disponíveis
| Arquivo | Quando usar |
|---|---|
.htaccess |
Versão completa (recomendada) |
.htaccess-simples |
Se o servidor der erro 500 |
🚀 Como instalar
Método 1: FTP/cPanel
- Acesse seu servidor via FTP ou cPanel
- Vá para a pasta
public_html/(ouwww/) - Faça upload do arquivo
.htaccess - Pronto!
Método 2: SSH
# Conecte ao servidor
ssh usuario@seudominio.com.br
# Vá para a pasta do site
cd /var/www/html
# ou
cd /home/usuario/public_html
# Crie o arquivo
nano .htaccess
# Cole o conteúdo do .htaccess
# Salve: Ctrl+O, Enter, Ctrl+X
⚙️ Configurações incluídas
1. SPA (Single Page Application)
RewriteRule ^ index.html [L]
→ Todas as URLs vão para index.html (necessário para React)
2. Compressão GZIP
AddOutputFilterByType DEFLATE text/css application/javascript
→ Reduz tamanho dos arquivos em ~70%
3. Cache do Navegador
ExpiresByType application/javascript "access plus 1 year"
→ Arquivos JS/CSS ficam no cache por 1 ano
4. Segurança
- Proteção contra clickjacking
- Proteção contra MIME sniffing
- Bloqueio de arquivos ocultos (.git, .env)
🔧 Configurações opcionais
Ativar HTTPS (quando tiver SSL)
Descomente estas linhas no .htaccess:
# Forçar HTTPS
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# HSTS (segurança extra)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Forçar SEM www
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
</IfModule>
Forçar COM www
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
❌ Problemas comuns
Erro 500 (Internal Server Error)
Causa: Seu servidor não tem todos os módulos habilitados
Solução: Use o .htaccess-simples
# Renomeie o arquivo
mv .htaccess .htaccess-backup
mv .htaccess-simples .htaccess
Página em branco
Causa: O mod_rewrite pode estar desativado
Solução: Contate seu provedor de hospedagem para ativar:
mod_rewritemod_deflatemod_expiresmod_headers
Rotas não funcionam (404 em /sobre, /contato)
Causa: O redirecionamento para index.html não está funcionando
Solução: Verifique se o arquivo .htaccess está na pasta correta
📊 Testar se está funcionando
1. Testar compressão GZIP
curl -H "Accept-Encoding: gzip" -I https://seudominio.com.br
Deve mostrar: Content-Encoding: gzip
2. Testar headers de segurança
curl -I https://seudominio.com.br
Deve mostrar:
X-Frame-Options: SAMEORIGINX-Content-Type-Options: nosniff
3. Testar cache
curl -I https://seudominio.com.br/assets/index-xxx.js
Deve mostrar: Cache-Control: max-age=31536000
🌐 Servidores específicos
cPanel (Hostgator, Locaweb, etc)
- Acesse: Arquivos → Gerenciador de Arquivos
- Vá para
public_html/ - Clique em Upload e envie o
.htaccess
AWS S3 + CloudFront
O S3 não usa .htaccess. Configure:
- Error Document:
index.html - CloudFront: Custom Error Response 404 → 200 para
index.html
Vercel/Netlify
Não precisa de .htaccess. Use vercel.json ou _redirects:
/* /index.html 200
Nginx (servidor diferente)
Se usar Nginx, crie um arquivo de configuração:
location / {
try_files $uri $uri/ /index.html;
}
gzip on;
gzip_types text/css application/javascript;
📞 Suporte
Se tiver problemas, verifique:
- O arquivo está na pasta correta?
- O nome do arquivo é exatamente
.htaccess(com ponto)? - As permissões do arquivo são 644?
# Corrigir permissões
chmod 644 .htaccess
✅ Checklist de instalação
- Arquivo
.htaccessna pastapublic_html/ - Site carrega normalmente (sem erro 500)
- Navegação entre páginas funciona
- Atualizar página (F5) não dá erro 404
- GZIP está ativo (teste com GTmetrix)
- Cache está funcionando
Última atualização: 2024 Versão: 1.0