# =====================================================================
# public_html/.htaccess
# Réécriture vers le front controller + durcissement de sécurité.
# =====================================================================

RewriteEngine On

# Forcer HTTPS (décommenter une fois le certificat actif)
# RewriteCond %{HTTPS} off
# RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Tout ce qui n'est pas un fichier/dossier réel -> index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

# Désactiver le listing des dossiers
Options -Indexes

# Bloquer l'accès aux fichiers sensibles
<FilesMatch "\.(sql|md|log|bak|ini|sh|env)$">
    Require all denied
</FilesMatch>

# Empêcher l'accès aux fichiers cachés (.git, etc.)
<FilesMatch "^\.">
    Require all denied
</FilesMatch>

# En-têtes de sécurité de base
<IfModule mod_headers.c>
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
