# Carpeta del modo en vivo: solo se sirven index.php (dirección corta para los equipos)
# y los archivos de estado s-<token>.json que escribe la aplicación. Todo lo demás se bloquea.
Options -Indexes -ExecCGI
DirectoryIndex index.php
AddType application/json .json

<FilesMatch "^(?!(index\.php|s-[a-f0-9]{24}\.json)$).+$">
  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
  <IfModule !mod_authz_core.c>
    Order allow,deny
    Deny from all
  </IfModule>
</FilesMatch>

# El estado cambia durante la sesión: el navegador debe revalidarlo siempre (el servidor responde 304 si no cambió).
<IfModule mod_headers.c>
  <FilesMatch "\.json$">
    Header set Cache-Control "no-cache"
    Header set X-Content-Type-Options "nosniff"
    Header set X-Robots-Tag "noindex"
  </FilesMatch>
</IfModule>
