# ============================================================================
# .htaccess de ejemplo para el FRONTEND (contenido de app/dist), a colocar en
# /home/USUARIO_CPANEL/analytics.intracool.site (la raíz de ese subdominio).
# ============================================================================

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  # 1) Nunca reescribir /api — esas peticiones son para el backend Node, no
  #    para el frontend. Si usas la Opción A (cPanel Node App Manager con
  #    Application URL = analytics.intracool.site/api), cPanel ya gestiona
  #    esa ruta con su propio Passenger/.htaccess interno y esta regla es
  #    solo una salvaguarda para que Apache no intente servir index.html ahí.
  RewriteCond %{REQUEST_URI} ^/api/ [NC]
  RewriteRule ^ - [L]

  # 2) Si el archivo o carpeta pedido existe de verdad (JS, CSS, imágenes,
  #    etc. generados por "npm run build"), servirlo tal cual.
  RewriteCond %{REQUEST_FILENAME} -f [OR]
  RewriteCond %{REQUEST_FILENAME} -d
  RewriteRule ^ - [L]

  # 3) Cualquier otra ruta (/agentes, /campanas, /importar, etc.) es una
  #    ruta de React Router: siempre se sirve index.html y React decide
  #    qué mostrar en el navegador.
  RewriteRule ^ index.html [L]
</IfModule>

# ----------------------------------------------------------------------------
# OPCIÓN B (alternativa): si el backend NO se registra como Application en
# cPanel (Opción A) sino que corre aparte con PM2/systemd en 127.0.0.1:4000,
# descomenta este bloque para que Apache haga de proxy inverso de /api hacia
# el backend. Requiere mod_proxy y mod_proxy_http habilitados (en hosting
# compartido a veces WHM los tiene deshabilitados; confírmalo con tu
# proveedor). Ver DEPLOY_CPANEL.md > "Opción B".
# ----------------------------------------------------------------------------
# <IfModule mod_proxy.c>
#   ProxyPreserveHost On
#   ProxyPass /api http://127.0.0.1:4000/api
#   ProxyPassReverse /api http://127.0.0.1:4000/api
# </IfModule>

# Evita exponer archivos de configuración por error si alguna vez terminan
# copiados junto al build (no deberían, pero es una salvaguarda barata).
<FilesMatch "\.(env|sql|sqlite|log)$">
  Require all denied
</FilesMatch>
