Files
avz-site/HTACCESS-GUIA.md

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

  1. Acesse seu servidor via FTP ou cPanel
  2. Vá para a pasta public_html/ (ou www/)
  3. Faça upload do arquivo .htaccess
  4. 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_rewrite
  • mod_deflate
  • mod_expires
  • mod_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: SAMEORIGIN
  • X-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)

  1. Acesse: ArquivosGerenciador de Arquivos
  2. Vá para public_html/
  3. 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:

  1. O arquivo está na pasta correta?
  2. O nome do arquivo é exatamente .htaccess (com ponto)?
  3. As permissões do arquivo são 644?
# Corrigir permissões
chmod 644 .htaccess

Checklist de instalação

  • Arquivo .htaccess na pasta public_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