# Configuración de Apache para Heza Web
# Este archivo debe ser incluido en la configuración de Apache

# Habilitar mod_rewrite
RewriteEngine On

# BLOQUEAR ACCESO AL DIRECTORIO BACKEND
# Denegar acceso directo al directorio backend
<Directory "/var/www/html/backend">
    Options -Indexes
    AllowOverride All
    Require all denied
    
    # Permitir solo acceso a la API
    <Location "/api">
        Require all granted
    </Location>
</Directory>

# Configuración para el frontend (React build)
# Servir archivos estáticos del frontend
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    
    # Manejar rutas de React Router
    RewriteEngine On
    RewriteBase /
    
    # Si el archivo/directorio no existe, servir index.html
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.html [L]
</Directory>

# Configuración para la API (backend)
# Redirigir todas las peticiones /api/* al backend
<Location "/api">
    ProxyPass http://localhost:5000/api
    ProxyPassReverse http://localhost:5000/api
    
    # Headers necesarios para CORS
    Header always set Access-Control-Allow-Origin "*"
    Header always set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
    Header always set Access-Control-Allow-Headers "Content-Type, Authorization"
    
    # Manejar preflight requests
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} OPTIONS
    RewriteRule ^(.*)$ $1 [R=200,L]
</Location>

# Configuración alternativa si el backend está en el mismo servidor
# Descomenta si el backend está corriendo en el mismo servidor
# <Location "/api">
#     ProxyPass http://127.0.0.1:5000/api
#     ProxyPassReverse http://127.0.0.1:5000/api
# </Location>

# Configuración de logs para debugging
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/heza_access.log combined
ErrorLog ${APACHE_LOG_DIR}/heza_error.log 