Options -Indexes
Options -ExecCGI

# ── PRIORITÉ ABSOLUE : servir les fichiers statiques directement ──────────────
# Empêche le .htaccess WordPress parent d'intercepter les images/CSS/JS
<IfModule mod_rewrite.c>
    RewriteEngine On
    # Si le fichier existe physiquement sur le disque → le servir sans aucune réécriture
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]
    # Si le dossier existe → le servir sans aucune réécriture
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
</IfModule>

# ── Protection images : accès direct autorisé ─────────────────────────────────
<FilesMatch "\.(png|jpg|jpeg|gif|svg|webp|ico)$">
    <IfModule mod_rewrite.c>
        RewriteEngine Off
    </IfModule>
</FilesMatch>

# ── Sécurité des en-têtes ─────────────────────────────────────────────────────
<IfModule mod_headers.c>
    Header set X-Content-Type-Options "nosniff"
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-XSS-Protection "1; mode=block"
    Header set Referrer-Policy "no-referrer-when-downgrade"
</IfModule>

# ── Bloquer l'accès direct aux includes PHP ───────────────────────────────────
<FilesMatch "^(config|header|footer)\.php$">
    Order deny,allow
    Deny from all
</FilesMatch>

# ── Page d'accueil par défaut ─────────────────────────────────────────────────
DirectoryIndex index.php

# ── Compression gzip ──────────────────────────────────────────────────────────
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/css application/javascript
</IfModule>

# ── Cache navigateur pour assets statiques ────────────────────────────────────
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/png          "access plus 1 month"
    ExpiresByType image/jpeg         "access plus 1 month"
    ExpiresByType image/gif          "access plus 1 month"
    ExpiresByType image/svg+xml      "access plus 1 month"
    ExpiresByType image/webp         "access plus 1 month"
    ExpiresByType text/css           "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
</IfModule>
