# =====================================================================
#  Fichier : .htaccess
#  Chemin complet sur serveur : /www/DEV/haja/.htaccess
#  
#  Protège les dossiers sensibles et redirige le trafic vers public/
#  
#  Phase 9 : 
#   - Retrait de l'ancienne "RewriteRule ^bible(...)" qui bloquait la route
#   - Ajout de "RewriteRule ^_bible(...)" pour servir CSS/JS/PHP du module
# =====================================================================

# 1. Bloque tous les fichiers cachés (.env, .git, etc.)
<FilesMatch "^\.">
    Require all denied
</FilesMatch>

# 2. Bloque les fichiers sensibles par extension
<FilesMatch "\.(env|env\..*|lock|md|sql|log|gitignore|gitkeep)$">
    Require all denied
</FilesMatch>

# 3. Bloque diag.php (à supprimer dès que tout marche)
<Files "diag.php">
    Require all denied
</Files>

# 4. Désactive le listing de dossiers
Options -Indexes

# 5. Redirige toutes les requêtes vers public/
<IfModule mod_rewrite.c>
    RewriteEngine On

    # Bloque l'accès direct aux dossiers sensibles
    RewriteRule ^(src|vendor|routes|views|database|storage)(/.*)?$ - [F,L]

    # =========================================
    # EXCLUSION DU DOSSIER SIM (autonome)
    # =========================================
    RewriteRule ^sim(/.*)?$ - [L]

    # =========================================
    # MODULE BIBLE — sert les assets CSS/JS/PHP de _bible/ tels quels
    # (sinon le routeur SaaS intercepte et renvoie 404 pour bible-module.css)
    # =========================================
    RewriteRule ^_bible(/.*)?$ - [L]

    # Si la requête vise déjà public/, on laisse passer
    RewriteRule ^public/ - [L]

    # Si le fichier existe dans public/, on y redirige
    RewriteCond %{DOCUMENT_ROOT}/haja/public/$1 -f
    RewriteRule ^(.+)$ public/$1 [L]

    # Sinon tout vers le routeur
    RewriteRule ^ public/index.php [L]
</IfModule>
