Wissen

WordPress – NGINX – 404 Errror auf Unterseiten – Homepage funktioniert

Ich hatte gerade ein sehr komisches Verhalten auf einem Webserver mit aktivierten NGINX Proxy, welches gefühlt aus dem „NICHTS“ heraus entstanden ist. Gut …nichts passiert aus dem NICHTS heraus, aber wodurch das Problem entstand, dass das NGINX System die Unterseiten meiner WordPress Installation nicht mehr anzeigen wollte und statt dessen nur noch 404 Error ausgab, ist mir bislang noch nicht so richtig klar. Fakt ist jedoch, es war auf einmal so. Die Homepage bzw. Index Page der Webseite wurde sauber über das NGINX System ausgeliefert, aber auf allen Unterseiten kam es zum 404 Fehler.

Interessanter Weise, war nur eine Web Instanz auf dem Plesk Server betroffen und die restlichen Seiten, auf anderen Domains wurden mit der „gleichen“ Konfiguration wurden fehlerfrei ausgeliefert.

D.h. hieß für mich die Domain Configuration muss in Plesk angepasst werden.

Fügt hierzu in
Domains –> Domain –> Apache & NGINX Settings
unter
Additional nginx directives
folgenden Zusatz ein:

if (!-e $request_filename) {
  set $test P;
}
if ($uri !~ ^/(plesk-stat|webstat|webstat-ssl|ftpstat|anon_ftpstat|awstats-icon|internal-nginx-static-location)) {
  set $test "${test}C";
}
if ($test = PC) {
  rewrite ^/(.*)$ /index.php?$1;
}

Speichern und schon sollte das Problem behoben sein!

Achtung!!
Sollte WordPress sich in einem Unterverzeichnis befinden, muss der Pfad angepasst werden!!

rewrite ^/(.*)$ /unterverzeichnis/index.php?$1;

blank

TIPP: Wollt ihr diese Einstellung für alle neuen Instanzen setzen, so könnt ihr diese in den Service Plan integrieren!

Service Plans –> Hosting Plans –> Webserver –> nginx directives

Für nicht Plex Systeme:

Hier eine Änderung der Config:

location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ /index.php?q=$uri&$args; 
        #try_files $uri $uri/ =404;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }

…und danach natürlich:

sudo service ngix reload

…einen Reload ausführen!

 


Tags:

  • wordpress nginx 404
  • wordpress ngenix 404

Ähnliche Artikel

4 Kommentare

  1. Hallo, wo soll das eingefügt werden?
    if (!-e $request_filename) {
    set $test P;
    }
    if ($uri !~ ^/(plesk-stat|webstat|webstat-ssl|ftpstat|anon_ftpstat|awstats-icon|internal-nginx-static-location)) {
    set $test „${test}C“;
    }
    if ($test = PC) {
    rewrite ^/(.*)$ /index.php?$1;
    }
    ———-
    in der .htaccess? oder wo? Ich habe ein Zugriff auf dem Plesk, aber dieser Code sagt mir nichts ,wo muss es hinzugefügt werden? Danke im voraus

  2. Endlich! Vielen, vielen Dank! Ich habe vor einer Weile einige Projekte von mir auf einen eigenen Server umgezogen und verwende rocket-nginx. Überall habe ich nur die Änderungen für den Service Plan gefunden, aber nicht gut erklärt. Jetzt funktioniert es.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Schaltfläche "Zurück zum Anfang"