SSR switch: site setting vitec.ssr.enabled gates .htaccess proxy to SSR node
- Site set Vitecset: new bool setting vitec.ssr.enabled (default off, backend switch under Site Management > Settings > VITEC Settings) - SsrFlagService derives var/vitec-ssr-on.flag from the setting; SyncSsrFlag middleware (frontend + backend) re-syncs per request because TYPO3 v14 fires no event on site settings save; vitec:ssr-flag CLI command for status/--sync - public/.htaccess: flag-gated block proxies page requests [P] to https://vitec-ssr.evomedien.de (mod_proxy incl. https target verified on this host 2026-11-09), same exclusions as the SPA fallback block; completely inert while the flag file is absent - Emergency off without TYPO3: delete var/vitec-ssr-on.flag - Tested end to end: flag on -> pages proxied to VPS Caddy (502 while the SSR node is not deployed yet), /_json untouched; flag off -> SPA shell exactly as before Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bd7a145afa
commit
2c0da281bd
6 files changed
+242
No files matched your search
@@ -345,6 +345,29 @@ AddDefaultCharset utf-8
|
||||
RewriteCond %{QUERY_STRING} __typo3_install
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
|
||||
# --- VITEC SSR routing (flag-gated) -----------------------------------
|
||||
# Active ONLY while the flag file below exists. Mirrors the SPA
|
||||
# fallback's exclusions but PROXIES page requests to the SSR node on
|
||||
# the Solr VPS instead of serving the React shell (mod_proxy incl.
|
||||
# https target verified on this host 2026-11-09, see Nextcloud
|
||||
# vitec-solr/ssr/README-SSR-Setup.md). The flag is written/removed by
|
||||
# EXT:vitec (Site Set switch "vitec.ssr.enabled" -> SsrFlagService,
|
||||
# synced by the SyncSsrFlag middleware / vitec:ssr-flag command).
|
||||
# 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]
|
||||
RewriteCond /usr/www/users/vitecevo/live/var/vitec-ssr-on.flag -f
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_FILENAME} !-l
|
||||
RewriteCond %{REQUEST_URI} !^/_json(/|$)
|
||||
RewriteCond %{REQUEST_URI} !^/typo3(/|$)
|
||||
RewriteCond %{REQUEST_URI} !^/download/
|
||||
RewriteCond %{REQUEST_URI} !^/api/
|
||||
RewriteCond %{REQUEST_URI} !^/_frontend/
|
||||
RewriteCond %{REQUEST_URI} !^/sitemap
|
||||
RewriteRule ^(.*)$ https://vitec-ssr.evomedien.de/$1 [P,L]
|
||||
# ----------------------------------------------------------------------
|
||||
# The root path needs its own rule: for "/" REQUEST_FILENAME is the
|
||||
# docroot DIRECTORY, so the !-d guard below skips it and DirectoryIndex
|
||||
# would hand it to TYPO3 (JSON). The homepage JSON lives at /_json/.
|
||||
|
||||
Reference in new issue
Block a user