16 Commits
Author SHA1 Message Date
fromme c63cbdd3a6 feat: redirects for legacy domains 2026-10-29 12:19:59 +01:00
frommeandClaude Opus 5.5 114a45aed3 chore: retire the snow report and search bar islands
They only served the static pages of the hybrid setup, which are retired:
TYPO3 13 renders search bar and snow reports in the page itself. Removed
are the page types 1705 (/snowreport) and 1706/1707 (/searchbar,
/searchbar-collapsed), their PageType enhancer entries and the id wrapper
of the snow report list that the static pages selected.

Also gone: the remarks about static pages and docroots in
ReferrerMiddleware and .htaccess.

The form page type (/form, 1704) stays for now; forms move off it in a
separate step.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 09:31:55 +01:00
frommeandClaude Opus 5.5 73fe876c78 fix: the n8n chat and the CleverPush service worker are served again
The ep-reisen footer loads the chat widget from /chat.bundle.es.js and
/chat.styles.css (@n8n/chat 0.65.0), and browsers subscribed to push
notifications update their service worker from /cleverpush-worker.js
(manifest: /cleverpush-manifest.json). These files were in the TYPO3 10
docroot but not in this repository, so since the switch to TYPO3 13 all
four returned 404: no chat button, and push subscriptions could no longer
update their worker.

public/* is ignored except for listed files, so they are added as
exceptions; a service worker has to be served from the root to control
the whole site.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:18:00 +01:00
frommeandClaude Opus 5.5 283f54c56c feat: EXT:staticfilecache serves cached pages without PHP again, as on TYPO3 10
Every page view goes through TYPO3 13 since the switch; staticfilecache
15.2 writes a gzip copy of each cacheable page, and the TYPO3 10 rewrite
rules in public/.htaccess let Apache deliver it directly (GET, no query
string, no backend login). Pages answer in about 2 ms instead of
0.5-4 s; static and dynamic output are identical for a sample of 22
sitemap URLs.

A flush of the pages cache group (travel data and snow report imports,
"clear frontend caches", deploys) removes the files; a page's own cache
lifetime still applies through the generated per-page .htaccess.

X-SFC-Tags is not passed on: with every record of a page as a tag it
reaches 100+ KB, more than Apache accepts from PHP-FPM, and it would
expose internal record ids. Debug headers stay off for the same reason.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 19:05:21 +02:00
frommeandClaude Opus 5.5 f193d356cb feat: schneereisen.com redirects to www.ep-reisen.de
An alias of the ep-reisen vhost; path kept, 301.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 15:24:13 +02:00
frommeandClaude Opus 5.5 837fca3b4c feat: unisnow.de and unisnow.com redirect to snowbreak.ep-reisen.de
Like unichamp.de: path kept, 302.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:58:09 +02:00
frommeandClaude Opus 5.5 fec781d634 feat: ep-reisen.com and ep-reisen.info redirect to www.ep-reisen.de
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:57:29 +02:00
frommeandClaude Opus 5.5 cd7d347006 feat: every ep-events.de URL redirects to the company trips page
E&P Events is retired; www and bare domain go to
www.ep-reisen.de/reisen-fuer-gruppen/gruppenreisen/firmenreisen/ (301).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:54:36 +02:00
frommeandClaude Opus 5.5 4b6dfdd390 fix: skiwochenenden.de redirects to www.ski-wochenenden.de
An alias of the ski-wochenenden vhost that the static docroot answered
regardless of the host; TYPO3 13 rejected it (trusted hosts pattern).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:50:47 +02:00
frommeandClaude Opus 5.5 873579d5b0 feat: legacy domain and /buchung redirects in TYPO3 13's .htaccess
Ported unchanged from TYPO3 10's public/.htaccess, whose rules the static
docroots carry until the vhosts point at TYPO3 13; Force SSL as there.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:28:47 +02:00
fromme 80fe3100ae Revert "fix: public resources answer under their TYPO3 10 path"
This reverts commit 9b90e32e6c.
2026-10-24 13:50:36 +02:00
frommeandClaude Opus 5.5 9b90e32e6c fix: public resources answer under their TYPO3 10 path
/typo3conf/ext/ep_theme|ep_products/Resources/Public/... is rewritten to
the _assets folder Composer publishes them to: the favicons and the
schema.org logo use that path, and so do links from outside. Today the
static docroots carry copies; after the vhost switch it would be 404.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 13:49:26 +02:00
frommeandClaude Opus 5.5 99f9724574 feat: backend users see the TYPO3 13 frontend on staging.ep-reisen.de
Logged in to the staging backend (be_typo_user cookie of that host), the
frontend is no longer redirected to www, so pages can be checked before
they go live. Everyone else still gets the 301; the host sends
X-Robots-Tag: noindex.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 13:24:19 +02:00
frommeandClaude Opus 5.5 bdc1bf4b9f fix: redirect the staging frontend to www.ep-reisen.de
staging.ep-reisen.de rendered every page through TYPO3 13 with its own
canonical URL, so search engines saw a full duplicate of the site. The
frontend now answers 301 to the same URL on www, which keeps serving its
mix of static export and TYPO3 13. The backend (/typo3) and the files it
loads (/_assets, /typo3temp, /fileadmin) as well as /.well-known stay on
staging. www never reads this .htaccess: its stub includes the release's
index.php directly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 11:07:08 +02:00
frommeandClaude Opus 5.5 f6307d7552 fix: hybrid deploy without OPcache tool, tolerant of missing secrets
- No cachetool: its web adapter needs PHP below www.ep-reisen.de/typo3temp,
  which is the static docroot in the hybrid setup (blocked, and not the
  release's typo3temp). Not needed: the exporter's front controller stubs
  resolve the "current" symlink with readlink() on every request.
- additional.php only merges secrets.php when it returns an array:
  Deployer creates an empty shared file on the first deploy.
- public/.htaccess sets TYPO3_CONTEXT=Production/Staging for
  staging.ep-reisen.de, the smoke-test vhost.
- dep host:check: read-only checks of the host before the first deploy.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 18:08:17 +02:00
Björn Fromme ae1ae3cb38 chore: initial commit of fresh project 2026-10-21 13:24:40 +02:00