# Absolute Restoration — cPanel deployment
# Apache configuration for SPA + PHP form endpoints.

# Default document
DirectoryIndex index.html index.php

# Compression
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/json image/svg+xml
</IfModule>

# Long-lived caching for hashed assets
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType text/css                 "access plus 1 year"
  ExpiresByType application/javascript   "access plus 1 year"
  ExpiresByType image/png                "access plus 1 year"
  ExpiresByType image/jpeg               "access plus 1 year"
  ExpiresByType image/svg+xml            "access plus 1 year"
  ExpiresByType image/webp               "access plus 1 year"
  ExpiresByType font/woff2               "access plus 1 year"
  ExpiresByType text/html                "access plus 0 seconds"
</IfModule>

# Block access to PHP includes / config
<FilesMatch "^_.*\.php$">
  Require all denied
</FilesMatch>
<Files "config.php">
  Require all denied
</Files>

# SPA fallback — send any non-file, non-API request to index.html so React Router can handle it
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  # Don't rewrite real files
  RewriteCond %{REQUEST_FILENAME} -f [OR]
  RewriteCond %{REQUEST_FILENAME} -d
  RewriteRule ^ - [L]

  # Don't rewrite the API
  RewriteRule ^api/ - [L]

  # Everything else → index.html
  RewriteRule ^ index.html [L]
</IfModule>
