# ============================================================
# .htaccess — va en la carpeta sim/ (raíz de GIA)
# Endurecimiento básico del servidor
# ============================================================

# 1. Nunca mostrar el listado de archivos de una carpeta — si alguien
#    entra a una URL de carpeta sin archivo index, debe ver un error,
#    no la lista de todo lo que hay adentro.
Options -Indexes

# 2. Nunca servir archivos .sql, .log o .env directo por navegador,
#    aunque alguien adivine el nombre exacto del archivo.
<FilesMatch "\.(sql|log|env|bak|sqlite)$">
    Require all denied
</FilesMatch>

<IfModule mod_rewrite.c>
    RewriteEngine On

    # 3. Si el sistema todavía NO está instalado (no existe api/config.php)
    #    y la carpeta install/ existe, mandar automáticamente al instalador
    #    cuando alguien entra a la página principal. Funciona sin importar
    #    si se accede por subdominio directo o por una ruta con prefijo
    #    (ej: portalresidencial.cl/gia).
    RewriteCond install/index.php -f
    RewriteCond api/config.php !-f
    RewriteCond %{REQUEST_URI} !/install/
    RewriteCond %{REQUEST_URI} !/(api|modules|js|uploads|vendor|core)/
    RewriteCond %{REQUEST_URI} (/$|index\.html$|login\.html$)
    RewriteRule ^ install/ [L,R=302]

    # 4. Si alguna vez queda una carpeta .git en el servidor, que nunca sea
    #    accesible por navegador — expondría el historial completo del código.
    RewriteRule "(^|/)\.git" - [F]
</IfModule>

# 5. Página de error genérica en vez de la de LiteSpeed por defecto,
#    para no confirmarle a nadie detalles internos del servidor.
ErrorDocument 403 "Acceso no autorizado."
ErrorDocument 404 "Página no encontrada."
