subsite-404-redirect


404-Weiterleitung


Das Subsite-404-Redirect-Modul ersetzt die Standard-WordPress-404-Seite durch eine saubere Weiterleitung auf ein konfigurierbares Ziel. Statt einer nackten Fehlerseite landen Besucher bei einem Tippfehler in der URL auf der Startseite, einer bestimmten Seite oder einer frei angegebenen URL.

Allgemein

Konfiguration


Das Weiterleitungsziel wird pro Subsite im Dashboard unter Weinhold → 404 Redirect definiert – zur Wahl stehen die Startseite, eine bestimmte WordPress-Seite aus einer Auswahlliste, oder eine frei eingegebene URL. Zusätzlich lässt sich zwischen temporärer (302) und dauerhafter (301) Weiterleitung wählen, und ob eingeloggte Nutzer sowie Administratoren ebenfalls umgeleitet werden sollen (Admins standardmäßig ausgenommen, zum Debuggen).

Ausnahmepfade


Eigene Pfade (einer pro Zeile, z. B. api/webhook) lassen sich von der Weiterleitung ausnehmen. Technische WordPress-Pfade (wp-json, wp-login.php, wp-cron.php, xmlrpc.php, robots.txt, favicon.ico, Feeds) sowie AJAX- und REST-Requests sind fest eingebaut immer ausgenommen.

Pro Site


Da jede Subsite im Netzwerk unterschiedliche Inhalte und Strukturen haben kann, ist die Konfiguration bewusst pro Site getrennt. Eine öffentliche Seite kann z. B. auf die Startseite weiterleiten, während eine interne Site auf die Login-Seite umleitet. Subsites ohne aktivierte Konfiguration behalten die Standard-WordPress-404-Seite.

Dateien

modules/subsite_404_redirect.php – einzige Datei des Moduls: Weiterleitungslogik, Einstellungen, Admin-Seite, Cleanup.

Für Entwickler

Einstellungen (Option weinhold_subsite_404_redirect_settings)


SchlüsselBedeutung
target_modehome, page oder custom_url
target_page_idZiel-Seiten-ID bei target_mode=page
target_custom_urlZiel-URL bei target_mode=custom_url
status_code301 oder 302
apply_for_logged_inAuch eingeloggte Nutzer umleiten
allow_admin_debugAdministratoren von der Weiterleitung ausnehmen
append_from404Hängt from404=1 und den fehlenden Pfad als missing-Parameter an die Ziel-URL an
exception_custom_pathsZusätzliche, frei definierte Ausnahmepfade

Ablauf


Hängt an template_redirect und greift nur bei echten 404-Antworten außerhalb des Admin-Bereichs. Reihenfolge der Prüfungen: aktiver Wartungsmodus bricht sofort ab, dann Modul aktiv?, dann technische/Ausnahmepfade, dann Admin-Debug-Ausnahme, dann eingeloggte Nutzer, dann eigene Ausnahmepfade. Zeigt die aufgelöste Ziel-URL zufällig auf den aktuellen (404-)Pfad, wird ebenfalls nicht umgeleitet – verhindert eine Weiterleitung auf sich selbst.

Besonderheiten

Wartungsmodus hat Vorrang: Ist das Wartungsmodus-Modul aktiv, greift die 404-Weiterleitung gar nicht erst – die eigene Weiterleitung des Wartungsmodus soll nicht überschrieben werden.

REST- und AJAX-Requests sind immer ausgenommen, auch ohne manuelle Konfiguration – ein 404 innerhalb der REST-API soll als echter API-Fehler beim aufrufenden System ankommen, nicht als HTML-Weiterleitung.

Beim Modul-Reset werden zusätzlich mehrere Legacy-Optionen früherer Versionen entfernt (enabled/target/status/exceptions/exception_page_ids einzeln) – Überbleibsel, bevor die Einstellungen in ein einziges Array zusammengeführt wurden.

Versionshistorie

VersionDatumÄnderung
1.0.022.09.2026Einführung der Versionierung.