# =====================================================================
# Configuración Apache - Sistema de Finanzas Personales
# =====================================================================

# Forzar HTTPS (descomenta cuando tengas certificado SSL activo en cPanel)
<IfModule mod_rewrite.c>
  RewriteEngine On
  # RewriteCond %{HTTPS} off
  # RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

  # Redirigir la raíz del dominio a index.php (por si el hosting no lo hace solo)
  DirectoryIndex index.php
</IfModule>

# Bloquear acceso directo a archivos de configuración e includes
<FilesMatch "\.(sql|md|log|env)$">
  Require all denied
</FilesMatch>

<IfModule mod_authz_core.c>
  <Directory "config">
    Require all denied
  </Directory>
  <Directory "includes">
    Require all denied
  </Directory>
</IfModule>
<IfModule !mod_authz_core.c>
  <Directory "config">
    Order allow,deny
    Deny from all
  </Directory>
  <Directory "includes">
    Order allow,deny
    Deny from all
  </Directory>
</IfModule>

# Evitar listado de directorios
Options -Indexes

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

# Cache de assets estáticos
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/png "access plus 1 month"
  ExpiresByType image/jpg "access plus 1 month"
  ExpiresByType image/ico "access plus 1 month"
  ExpiresByType text/css "access plus 1 week"
  ExpiresByType application/javascript "access plus 1 week"
</IfModule>

# PHP: ocultar información de versión (si el hosting lo permite vía .htaccess)
<IfModule mod_php.c>
  php_flag display_errors off
  php_flag expose_php off
</IfModule>
