301-Weiterleitungen der alten CMS-Adressen

Der Aufnahmeantrag der Turnabteilung ging als alte URL in den Einladungen an
die neuen Familien raus und lief seit dem Umzug in einen 404, ebenso der Link
auf die Turn-Seite. Beide leiten jetzt weiter, dazu alle uebrigen Seiten der
alten Navigation unter /08/de/.

Die PDF-Regel matcht am Umlaut vorbei: der Dateiname kommt je nach Mailprogramm
als NFC, als NFD (so stand er in der alten Datenbank) oder roh als UTF-8 an.
Die Sammelregel wirft den alten Query-String weg, sonst haengt mod_rewrite
?group_filter_id=14 ans neue Ziel.

Erledigt damit den offenen Punkt F3 aus docs/deploy.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RWoqDYuANFbJDGFQAgaRdT
This commit is contained in:
2026-07-31 22:11:08 +02:00
parent e7572b34d6
commit 06a18a2d19
2 changed files with 32 additions and 4 deletions

View File

@@ -374,10 +374,13 @@ Verzeichnis liegt und die alte Datenbank nicht anfasst.
### F3 Offen, nach dem Livegang
- **301-Weiterleitungen der alten URLs.** Die neue Seite hat andere Slugs; alte
Google-Treffer und fremde Links laufen ins Leere. Die alten Adressen stehen im
DB-Dump unter `.context_db`. Aufwand lohnt für die paar wichtigen Seiten, nicht
für alle.
- ~~**301-Weiterleitungen der alten URLs.**~~ Erledigt am 31.07.2026: `public/.htaccess`,
Block „Alte CMS-Adressen". Abgedeckt sind der PDF-Aufnahmeantrag der Turnabteilung
(`/userdata/01_Basis/Beitrittserkl…pdf`, so in den Einladungen verschickt) und alle
Seiten der alten Navigation unter `/08/de/…` (Zuordnung aus `main_navigation` im
DB-Dump). **Nicht** dabei und bewusst nicht nachgezogen: die Bilder und das
Hero-Video unter `/userdata/04_Seiteninhalte/` — die liegen auf der neuen Seite in
anderer Form, eine Weiterleitung von Bild-URLs hilft niemandem.
- **Google Search Console:** Property anlegen, `sitemap.xml` einreichen.
- **Instagram-Sync** beobachten, siehe C3.
- Nach dem Sportfest (ab 07.09.2026) fallen zwei Anzeigen per `bis`-Datum aus dem

View File

@@ -24,6 +24,31 @@ RewriteRule ^ https://www.tsv08kulmbach.de%{REQUEST_URI} [R=301,L]
# unbekannten Slug abfangen und einen 404 rendern.
RewriteRule ^turnen/step-aerobic-fitness-pilates/?$ /turnen/fitness-pilates [R=301,L]
# --- Alte CMS-Adressen (301) ---
# Die alte Seite lief unter /08/de/<seite>/ und lieferte Dateien aus /userdata/.
# Beides ist seit dem Umzug tot, die Adressen stehen aber in Einladungen, Aushängen
# und im Google-Index. Steht wie die Regel darüber VOR dem Front Controller.
#
# Der Aufnahmeantrag der Turnabteilung ist der dringendste Fall: er ging so an die
# neuen Familien raus. Der Dateiname trägt ein „ä" und kommt je nach Mailprogramm in
# drei Fassungen an: NFC (%C3%A4), NFD (a%CC%88 — genau so stand der Link in der alten
# Datenbank) oder roh als UTF-8. mod_rewrite prüft den dekodierten Pfad, also matchen
# wir am Umlaut vorbei, statt eine der drei Fassungen zu raten.
RewriteRule ^userdata/01_Basis/Beitrittserkl[^/]*\.pdf$ /assets/downloads/beitrittserklaerung-turnen.pdf [R=301,L,NC]
# Seiten, die ihren Namen behalten haben. Das abschließende „?" wirft den alten
# Query-String weg (die Turn-Seite hatte ?group_filter_id=<n> als Disziplin-Filter,
# 14 war „Allgemeines") — ohne das hängt mod_rewrite ihn ungefragt ans neue Ziel.
RewriteRule ^08/de/(fussball|jugendfussball|matchcenter|turnen|mitglied-werden|kontakt|historie|impressum|datenschutz)/?$ /$1? [R=301,L]
# Seiten, die heute anders heißen
RewriteRule ^08/de/home/?$ / [R=301,L]
RewriteRule ^08/de/aktuelles/?$ /news [R=301,L]
RewriteRule ^08/de/der-verein/?$ /verein [R=301,L]
RewriteRule ^08/de/der-verein/historie/?$ /historie [R=301,L]
RewriteRule ^08/de/der-verein/sportheim/?$ /sportheimbuchung [R=301,L]
RewriteRule ^08/de/personen/?$ /ansprechpartner [R=301,L]
# --- Front Controller ---
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d