Hintergrund: Multisite und NOBLOGREDIRECT
In einer WordPress-Multisite kann es passieren, dass nicht vorhandene Seiten automatisch auf die Startseite umgeleitet werden. Ursache ist oft die Einstellung NOBLOGREDIRECT in der Datei wp-config.php. Das ist erstmal nicht dramatisch, aber auf Dauer unpraktisch. Denn statt einer sauberen 404-Fehlerseite landet der Besucher einfach auf der Startseite. Die gute Nachricht: Das Verhalten lässt sich mit einem kleinen Eingriff schnell ändern.
Was ist NOBLOGREDIRECT eigentlich?
Die Zeile define('NOBLOGREDIRECT', '%siteurl%'); in der wp-config.php legt fest, was passieren soll, wenn jemand eine nicht existierende Subdomain aufruft. Statt eine 404-Seite anzuzeigen, wird die Person dann automatisch zu einer festgelegten URL weitergeleitet. Das kann in manchen Setups sinnvoll sein, etwa wenn du ungültige Subdomains bewusst auf die Startseite schicken willst.
In der Praxis sorgt diese Einstellung aber häufig für Verwirrung. Vor allem dann, wenn nicht nur Subdomains betroffen sind, sondern auch normale Seitenaufrufe.
Das eigentliche Problem
Genau hier wird es unschön: Teilweise greift NOBLOGREDIRECT auch bei ganz normalen 404-Seiten auf der Hauptdomain. Das bedeutet, dass eine URL wie https://tikoim.de/dieSeiteexistiertNicht/ nicht auf einer Fehlerseite landet, sondern direkt weitergeleitet wird. Für Besucher ist das irritierend. Und für dich ist es ebenfalls unpraktisch, weil echte Fehlerseiten dadurch schlechter nachvollziehbar sind.
Kurz gesagt: Die Umleitung kaschiert das Problem, statt es sauber zu behandeln.
Lösung: Automatische 404-Umleitung deaktivieren
Wenn du wieder die normale 404-Seite deines Themes nutzen möchtest, kannst du das Verhalten mit einer kleinen Datei im Verzeichnis mu-plugins überschreiben.
- Lege im Ordner
/wp-content/mu-plugins/eine neue Datei mit dem Namencustom.phpan. - Falls der Ordner
mu-pluginsnoch nicht existiert, erstelle ihn einfach manuell. - Füge anschließend den folgenden Code in die Datei ein:
<?php
remove_action( 'template_redirect', 'maybe_redirect_404' );
Damit entfernst du die Funktion maybe_redirect_404, die für die automatische Weiterleitung verantwortlich ist. Ab diesem Moment werden nicht vorhandene Seiten wieder so behandelt, wie man es erwartet: WordPress zeigt die reguläre 404-Vorlage deines Themes an.
Der Vorteil an dieser Lösung: Die Datei wird automatisch geladen, sobald WordPress startet. Du musst also kein Plugin aktivieren und auch nichts weiter konfigurieren.

Wann NOBLOGREDIRECT trotzdem sinnvoll sein kann
NOBLOGREDIRECT ist nicht grundsätzlich schlecht. Gerade bei ungültigen Subdomains kann es sinnvoll sein, Besucher gezielt auf eine andere Seite weiterzuleiten. Problematisch wird es nur dann, wenn dadurch auch normale 404-Aufrufe auf der Hauptseite abgefangen werden. Wenn du genau das vermeiden willst, ist der oben gezeigte Fix eine einfache und saubere Lösung.
Englischsprachige Quelle: NOBLOGREDIRECT explained and fix · GitHub

Super! Genau das Problem hatte ich auch mit meiner WordPress-Seite. Die Lösung mit der „custom.php“-Datei hat geholfen. Vorher bin ich bei 404-Fehlern immer auf die Startseite umgeleitet worden, was total nervig war. 👍