Exemplo 1: novo site em example.com
Entrada:
- Domínio: example.com
- Forçar HTTPS e usar sempre o endereço sem www
- Compressão GZIP ativada
- Cache: imagens por 1 mês, CSS e JavaScript por 1 semana; sempre revalidar HTML
- Desativar listas de diretórios
Saída (.htaccess):
# .htaccess gerado com o gerador de .htaccess da ZAP-Hosting
# Antes de enviar: crie uma cópia de segurança e teste primeiro em um ambiente de teste.
# HTTPS e formato do domínio
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Geral e segurança
Options -Indexes
# Compressão
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript application/javascript application/json application/ld+json application/xml application/xhtml+xml application/rss+xml application/atom+xml image/svg+xml image/x-icon font/ttf font/otf application/vnd.ms-fontobject
</IfModule>
# Cache do navegador
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType image/avif "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType application/xhtml+xml "access plus 0 seconds"
</IfModule>
Resultado em palavras: um endereço como http://www.example.com/seite chega a https://example.com/seite com um único redirecionamento 301. Acessos por http:// sem www também são redirecionados por 301 para https://. As imagens permanecem 1 mês no cache do navegador (max-age=2592000), CSS e JavaScript permanecem 1 semana, e as páginas HTML são verificadas novamente a cada visita. HTML, CSS, JavaScript e JSON são transferidos com compressão GZIP. Quem acessa uma pasta sem arquivo index não vê mais uma lista de arquivos, mas recebe um erro 403.
