RewriteEngine On RewriteBase /_frontend/ RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^ index.html [L] # ── Cache headers ──────────────────────────────────────────────────────────── # index.html: never cache — always fetch fresh so the browser picks up # the latest hashed JS/CSS filenames after a deploy. Header set Cache-Control "no-store, no-cache, must-revalidate" Header set Pragma "no-cache" Header set Expires "0" # Hashed assets (JS, CSS, fonts, images inside /assets/): # Vite appends a content hash to every filename, so these are immutable. # Cache them for 1 year — a new deploy produces new filenames automatically. Header set Cache-Control "public, max-age=31536000, immutable"