Hey Wordpressler, habt ihr auch eure Permalinks umgestellt und erhaltet anschließend 404 Fehler beim Aufruf eurer Seiten oder Posts? 404 Permalinks nach Wordpress umstellungen gehören zu den Klassikern, wie auch die Meldung; “Der Zielordner existiert bereits“, und haben meist einfach Ursachen. In der Regel wird die index.php nicht mehr korrekt angesprochen. Das sollte Wordpress eigentlich automatisch mit der .htaccess Datei erledigen, scheinbar ist aber bei dir, genau wie bei mir, etwas schief gelaufen.
In meinem konkreten Fall habe ich die Struktur übrigens von Einfach (https://www.wpzeus.com/?p=123) auf Beitragsname (https://www.wpzeus.com/beispielbeitrag/) umgestellt. Nachdem ich auf “Änderungen speichern” bin, kamen die 404 Error beim aufrufen der Beiträge meiner Wordpress Website. Tritt aber auch nach Migrationen ab und zu auf.
Der Fehler 404 bedeutet übrigens, dass die angeforderte Seite oder URL nicht vom Server gefunden wird.
404 Fehler der Permalinks beheben
Möglichkeit 1: WordPress Permalinks ändern
Wenn du schnell den Error 404 beheben willst, gibt’s hier die Quick and Dirty Lösung. Funktioniert also wahrscheinlich, ist aber keine Dauerlösung. Du kannst die Permalink Struktur quasi mit einer manuellen rewriterule zur index.php ausstatten, indem du dies einfach in den Permalink Einstellungen mit aufnimmst. Der Nachteil ist, dass diese URL Struktur dann für die Besucher deiner Wordpress Website auch sichtbar ist. Der Vorteil ist, dass es sofort funktioniert.
Möglichkeit 2: Rewrite Rule in Datei htaccess
Die beste Lösung ist das erweitern der .htaccess Datei um die Standard RewriteRule zur index.php.
Diese Regel kannst du gefahrlos in deine Datei übernehmen, wenn die Möglichkeit 1 bei dir funktioniert hat, da sie sowieso existieren sollte. Diese Regel gehört zum Wordpress-Standard und verhält sich ähnlich wie eine 301 Weiterleitung. Beim setzen dieser Regel scheint auf deinem Server jedoch etwas schief gegangen zu sein…
# HTTPS forced by SG-Optimizer
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
# END HTTPS #
BEGIN WordPress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Code-Sprache: PHP (php)
Wenn ich richtig liege, musst du nur die 2te Zeile von unten in deiner .htaccess Datei ergänzen und das wars dann schon.
Falls du deine Permalink-Struktur wie oben bei Möglichkeit 1 beschreiben geändert hast, muss du dass nun wieder rückgängig machen, da die Umleitung sonst ja doppelt wäre 😉
Der Beitrag ist zwar schon etwas älter, aber ich habe genau dieses Problem, wenn ich den Permalink ändere. Wenn ich in den Permalink Einstellungen index.php mit angebe funktioniert alles. Ohne die extra Angabe, wird in der htaccess auch die Zeile mit index.php angegeben, aber es funktioniert trotzdem nicht. auf dem gleichen Server habe ich eine weitere Wordpress Installation mit gleicher htaccess und gleicher conf Datei im Apache Ordner und da funktioniert alles.
Hi Andreas, haben denn die Rewrite-Rules nicht funktioniert?