Options -Indexes
ServerSignature Off
DirectoryIndex index.html

<IfModule mod_rewrite.c>
  RewriteEngine On

  # One canonical origin for cookies, CSRF, API requests, and public assets.
  RewriteCond %{HTTPS} !=on [OR]
  RewriteCond %{HTTP_HOST} !^tagvion\.pro$ [NC]
  RewriteRule ^ https://tagvion.pro%{REQUEST_URI} [R=308,L,NE]

  RewriteBase /
  RewriteRule ^api(?:/.*)?$ api/index.php [QSA,L]
  RewriteCond %{REQUEST_FILENAME} -f [OR]
  RewriteCond %{REQUEST_FILENAME} -d
  RewriteRule ^ - [L]
  RewriteRule . /index.html [L]
</IfModule>

<IfModule mod_headers.c>
  Header always unset X-Powered-By
  Header always set X-Content-Type-Options "nosniff"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
  Header always set X-Frame-Options "SAMEORIGIN"
  Header always set Permissions-Policy "geolocation=(), microphone=(), camera=(), payment=(), usb=(), browsing-topics=()"
  Header always set Content-Security-Policy "default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'self'; form-action 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self' data:; media-src 'self' blob:; connect-src 'self' https://tagvion.pro; worker-src 'self' blob:; manifest-src 'self'"

  # Enable only after TLS and every canonical HTTPS flow is verified in production.
  # SetEnv TAGVION_HSTS_ENABLED 1
  Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" "expr=%{HTTPS} == 'on' && reqenv('TAGVION_HSTS_ENABLED') == '1'"
</IfModule>

ErrorDocument 404 /index.html
