08Website-Wissen & Fehlercodes
Fehler 404 und Weiterleitungen einrichten
404 Not Found auf deiner Website? So findest du die Ursache, richtest 301-Weiterleitungen ein und reparierst WordPress-Permalinks bei Nexthosting.
Kurz gesagt
Ein 404 heißt: Unter dieser Adresse liegt nichts. Prüfe zuerst Schreibweise, Groß- und Kleinschreibung und den Ort der Datei. Bei WordPress hilft oft ein Klick auf Einstellungen, Permalinks, Änderungen speichern. Zieht eine Seite um, leitest du die alte Adresse mit einer 301-Weiterleitung auf die neue.
Warum 404?
Abschnitt betitelt „Warum 404?“Der Server hat die Anfrage verstanden, findet aber keine passende Datei oder Seite. Das ist erst einmal kein Serverfehler.
Die einfachen Ursachen zuerst
Abschnitt betitelt „Die einfachen Ursachen zuerst“- Tippfehler in der Adresse oder im Link.
- Groß- und Kleinschreibung. Auf Linux-Servern sind
Bild.jpgundbild.jpgzwei verschiedene Dateien. - Datei liegt im falschen Ordner, etwa weil beim Hochladen ein zusätzlicher Unterordner entstand.
- Datei wurde gelöscht oder umbenannt.
- Endungen:
seite.htmlist nichtseite.htm. - Falsche Domain-Zuordnung: Die Domain zeigt auf einen anderen Ordner.
- Leerzeichen und Umlaute in Dateinamen machen Ärger. Nutze
a-z,0-9, Bindestriche.
WordPress: Unterseiten liefern 404
Abschnitt betitelt „WordPress: Unterseiten liefern 404“Wenn die Startseite geht, aber Beiträge und Seiten 404 zeigen, fehlen die Umschreiberegeln (Permalink-Regeln) in der .htaccess oder sie sind veraltet.
- Melde dich im WordPress-Adminbereich an.
- Öffne Einstellungen, dann Permalinks.
- Klicke ohne Änderung auf Änderungen speichern. WordPress schreibt die Regeln neu.
- Lädt es immer noch nicht? Prüfe, ob die Datei
.htaccessim Hauptverzeichnis existiert und für den Webserver lesbar ist (Dateirechte).
Die Standardregeln von WordPress sehen so aus:
# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]RewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule># END WordPressHilfe dazu auch in WordPress-Probleme lösen.
Eine eigene 404-Seite
Abschnitt betitelt „Eine eigene 404-Seite“Eine gute 404-Seite sagt, dass die Seite fehlt, und bietet Wege weiter: Suche, Startseite, wichtige Rubriken. Bei WordPress liefert das Theme sie (404.php). Bei einer statischen Seite legst du 404.html an und weist sie in der .htaccess zu:
ErrorDocument 404 /404.htmlWichtig: Die Seite muss auch wirklich den Statuscode 404 liefern, nicht 200. Sonst halten Suchmaschinen sie für eine normale Seite („Soft 404“).
301-Weiterleitung einrichten
Abschnitt betitelt „301-Weiterleitung einrichten“Eine 301-Weiterleitung schickt Besucher und Suchmaschinen von einer alten zu einer neuen Adresse und überträgt den Suchwert der alten Seite. Setze sie, wenn du Seiten verschiebst, die Struktur änderst oder die Domain wechselst.
Eine einzelne Seite
Abschnitt betitelt „Eine einzelne Seite“Redirect 301 /alte-seite/ https://meinprojekt.de/neue-seite/Mit Muster (mod_rewrite)
Abschnitt betitelt „Mit Muster (mod_rewrite)“RewriteEngine OnRewriteRule ^blog/(.*)$ https://meinprojekt.de/ratgeber/$1 [R=301,L]Ganze Domain umziehen
Abschnitt betitelt „Ganze Domain umziehen“RewriteEngine OnRewriteCond %{HTTP_HOST} ^(www\.)?alte-domain\.de$ [NC]RewriteRule ^(.*)$ https://neue-domain.de/$1 [R=301,L]Hinweise
Abschnitt betitelt „Hinweise“- Die Regeln gehören in die
.htaccessim Hauptverzeichnis. Sie funktioniert bei Nexthosting (Apache), siehe .htaccess-Grundlagen. - Setze Weiterleitungen vor den WordPress-Regeln (also oberhalb von
# BEGIN WordPress). - Leite auf die passende neue Seite, nicht pauschal alles auf die Startseite. Sonst werten Suchmaschinen es als Soft 404.
- Teste mit
curl:
curl -sI https://meinprojekt.de/alte-seite/ | grep -E "^HTTP|^location"Bei WordPress gehen Weiterleitungen auch mit einem Plugin. Für wenige Weiterleitungen ist die .htaccess schneller.
| Wunsch | Code | Wann |
|---|---|---|
| Seite ist dauerhaft umgezogen | 301 (oder 308) | Umbau, neue Domain |
| Vorübergehend woanders (Wartung, Aktion) | 302 (oder 307) | Kurzfristig |
| Seite absichtlich entfernt | 410 | „Gibt es nie wieder“ |
Weiterleitungsschleifen
Abschnitt betitelt „Weiterleitungsschleifen“Der Browser meldet „ERR_TOO_MANY_REDIRECTS“ oder „Die Seite hat Sie zu oft weitergeleitet“. Zwei Regeln schicken Besucher im Kreis.
Häufige Ursachen:
httpwird aufhttpsumgeleitet, ein Plugin leitet wieder aufhttpzurück.- In WordPress sind „WordPress-Adresse“ und „Website-Adresse“ unterschiedlich (www / ohne www, http / https).
- Ein Proxy oder Cloudflare im Modus „Flexible“ spricht mit dem Server über http, und der Server leitet erneut auf https.
- Zwei Regeln in der
.htaccess(www und ohne www) arbeiten gegeneinander.
- Cookies der Seite löschenSchließt Anmelde-Schleifen aus
- .htaccess umbenennenSeite geht jetzt?
- Regeln einzeln wieder einfügenNach jeder Regel testen
- WordPress-Adressen prüfenEinstellungen, Allgemein
- Cloudflare-Modus prüfenFull oder Full (strict)
Verfolge den Weg mit curl:
curl -sIL --max-redirs 10 https://meinprojekt.de/ | grep -E "^HTTP|^location"404 und Suchmaschinen
Abschnitt betitelt „404 und Suchmaschinen“Einzelne 404-Seiten schaden nicht. Wichtig ist, dass wichtige Seiten nicht wegfallen. Prüfe nach einem Relaunch die Liste der bisherigen Adressen und leite sie um.
Häufige Fragen
Abschnitt betitelt „Häufige Fragen“Warum zeigt meine Seite 404, obwohl die Datei da ist?
Abschnitt betitelt „Warum zeigt meine Seite 404, obwohl die Datei da ist?“Meist stimmen Groß- und Kleinschreibung oder Ordner nicht, oder die Domain zeigt auf einen anderen Ordner.
Wie lange gilt eine 301-Weiterleitung?
Abschnitt betitelt „Wie lange gilt eine 301-Weiterleitung?“Browser merken sie sich lange. Teste neue Weiterleitungen deshalb zuerst mit 302 oder mit curl.
Muss ich www auf ohne-www umleiten?
Abschnitt betitelt „Muss ich www auf ohne-www umleiten?“Du solltest eine Variante als Hauptadresse wählen und die andere weiterleiten. Beispiel in .htaccess-Grundlagen.