diff --git a/public/.htaccess b/public/.htaccess index e6f10cf..bfb124d 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -356,6 +356,12 @@ AddDefaultCharset utf-8 # Emergency off without TYPO3: delete the flag file. RewriteCond /usr/www/users/vitecevo/live/var/vitec-ssr-on.flag -f RewriteRule ^$ https://vitec-ssr.evomedien.de/ [P,L,E=SSRPROXY:1] + # mod_dir turns "/" into "/index.html" via DirectoryIndex subrequest + # before the rule above can proxy it (found 2026-11-09 evening: the + # SSR node logged GET /index.html -> /_json/index.html -> 404). + # Catch that spelling and send it to the node as the homepage: + RewriteCond /usr/www/users/vitecevo/live/var/vitec-ssr-on.flag -f + RewriteRule ^index\.html$ https://vitec-ssr.evomedien.de/ [P,L,E=SSRPROXY:1] # Flag ON: the hashed JS/CSS files come from the VPS release too # (0054-FE 5.1 / 0055-BE question 1). No !-f guard on purpose: a # same-named file from an older local SPA build must not win, the diff --git a/public/_frontend/.htaccess b/public/_frontend/.htaccess index 52d7f05..67c07cf 100644 --- a/public/_frontend/.htaccess +++ b/public/_frontend/.htaccess @@ -3,6 +3,14 @@ RewriteBase /_frontend/ RewriteRule ^index\.html$ - [L] +# SSR flag ON: hashed assets are served from the VPS release - its hashes +# must win over any local build, and the fallback below must never answer +# an asset request with index.html (the browser would get HTML as JS). +# This directory's .htaccess overrides the root one for /_frontend/*, so +# the rule has to live HERE, not in public/.htaccess (2026-11-09). +RewriteCond /usr/www/users/vitecevo/live/var/vitec-ssr-on.flag -f +RewriteRule ^assets/(.*)$ https://vitec-ssr.evomedien.de/_frontend/assets/$1 [P,L] + RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L]