Das Problem

Unter der Plesk lässt sich dank dem WordPress Toolkit recht schnell eine neue WordPress Instanz installieren. Dann aktiviert man noch schnell nginx, um die Ladezeiten zu verbessern und plötzlich sind alle Unterseiten der WordPress-Website nicht aufrufbar. Außer auf der Startseite erscheint ein „404 Not Found„.

Die Ursache

Wenn PHP als FPM application served by nginx läuft, dann ist Apache nicht an der Verarbeitung von Websites beteiligt. Infolgedessen wird die .htaccess-Datei (die von WordPress zum Umschreiben von Seiten-URLs verwendet wird) von nginx verarbeitet, das die in der .htaccess-Datei definierten Regeln jedoch nicht unterstützt.

Die Lösungsoptionen

1. Zurück zu Apache wechseln

Die einfachste Lösung wäre die Website nicht mehr durch nginx ausliefern zu lassen. Dazu in den Hosting-Einstellungen einfach zu FPM application served by Apache zurückwechseln und ggf. in den Apache & nginx Einstellungen noch gesetzte Häkchen entfernen. Apache kann die in der .htaccess-Datei gesetzten Regeln wieder interpretieren und liefert die Website korrekt aus. Jedoch verzichtet man bei dieser Lösung auf die Vorteile von nginx.

2. Für eine Website / WordPress-Instanz

Bitte beachte, dass dies nur als Plesk-Administrator möglich ist. Frage also deinen Hoster / System-Administrator, falls das entsprechende Feld bei dir nicht erscheint und dir somit die Berechtigungen fehlen. Ein guter Hoster sollte diesen Inhalt ohne großes Nachfragen schnell einfügen können.

Schritt 1

Gehe dazu in Plesk in der entsprechenden Domain auf die Apache & nginx Einstellungen:Plesk Domain-Ansicht Einstellungen für Apache und nginx

Schritt 2

Füge in das Textfeld Zusätzliche nginx-Anweisungen (ganz unten) folgenden Inhalt ein:Textfeld Zusätzliche nginx-Anweisungen

Die Anweisungen zum Kopieren:

Schritt 3

Drücke abschließend auf den Button OK oder Übernehmen, um die Anweisungen zu speichern und zu aktivieren.

Nun sollte deine WordPress-Website mit allen Unterseiten wieder korrekt aufrufbar sein.

Hinweis

Wenn sich deine WordPress-Installation in einem Unterverzeichnis befindet (zum Beispiel „httpdocs / sub-dir“) oder es sich um ein WordPress Multisite Netzwerk handelt, welches auf Unterverzeichnissen basiert, fügen das Verzeichnis /sub-dir/ vor dem /index.php?$1 hinzu, damit es wie folgt aussieht:

Wichtig: Bei WordPress Multisite Netzwerken, welche auf Unterverzeichnissen basieren, muss diese Regel für jedes Unterverzeichnis hinzugefügt werden.

3. Serverweite Umsetzung für alle alten & neuen Websites

Da es hier für verschiedenste Versionen unterschiedliche Vorgehensweisen gibt und sich diese kurze Anleitung lediglich an Endbenutzer richten soll und damit nicht an Hoster oder Server-Betreiber, möchte ich hiermit auf das Plesk Help Center verweisen.

Anzeige

Autor dieses Beitrags

Philipp Sobotta | PS-WebAgentur

Seit 2011 erstellt er professionelle Websites für private und geschäftliche Zwecke. Er ist WordPress-Benutzer der ersten Stunde, Verfechter von Green IT, papierlosem Office und performantem Hosting zu fairen Preisen.