# Ativar o mod_rewrite para reescrita de URLs
RewriteEngine On

# Definir a pasta raiz do projeto (opcional)
RewriteBase /

# Redirecionar todas as requisições para index.php, exceto arquivos existentes
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

# Proteger arquivos sensíveis
<FilesMatch "\.(db|sql|ini|log|env)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

# Desabilitar listagem de diretórios
Options -Indexes

# Configurações de segurança
<IfModule mod_headers.c>
    Header set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Frame-Options "SAMEORIGIN"
</IfModule>

# Configurar codificação de caracteres
AddDefaultCharset UTF-8

# Habilitar compressão GZIP
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json
</IfModule>

# Configurar expiração de cache para arquivos estáticos
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
</IfModule>

# Proteger o arquivo .htaccess
<Files .htaccess>
    Order Allow,Deny
    Deny from all
</Files>