Options -Indexes -MultiViews
ServerSignature Off

# ── Rewrite principal (Apache mod_rewrite y LiteSpeed) ───────────────────────
# RewriteBase / porque el DocumentRoot ya apunta a esta carpeta public/
# No usar /qullqi_wasi/public/ si el dominio apunta directamente aquí.
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # Dejar pasar archivos y directorios reales (css, js, imágenes, uploads)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    # Todo lo demás va a index.php
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

# ── Fallback para LiteSpeed sin mod_rewrite habilitado ───────────────────────
# LiteSpeed admite su propio motor de reescritura vía estas directivas.
<IfModule LiteSpeed>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

# ── Headers de seguridad ─────────────────────────────────────────────────────
<IfModule mod_headers.c>
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set X-XSS-Protection "1; mode=block"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

# ── Caché de assets estáticos ────────────────────────────────────────────────
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/png               "access plus 1 month"
    ExpiresByType image/jpeg              "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>

# ── Bloquear acceso a archivos sensibles ─────────────────────────────────────
<FilesMatch "\.(sql|log|sh|md|bat)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>
