Skip to content

Bernd Scheffler

Mein ganz privates Blog

Menu
  • Impressum
  • Datenschutzerklärung
Menu

WordPress Permalinks unter nginx

Posted on 6. Februar 2016 by Bernd

NGINX die Arbeitsbiene für WordPress

Ich arbeite inzwischen sehr gerne mit dem Webserver nginx  (ausgesprochen wie englisches „engine-ex“ [ˈɛnʤɪn ˈɛks]) wenn es um trafficintensive WordPressblogs geht.

Es gibt eine Anpassung in der Konfiguration des Webservers die man beachten muss, damit die Permalinkstruktur der WordPressinstallation funktioniert.

Schritt für schritt durch die nginx Konfiguration

Ich greife dafür (man muss das Rad ja nicht neu erfinden) diesen englischsprachigen Artikel auf und habe ihn übersetzt. Der Artikel beschreibt das Thema sehr gut.

Im Allgemeinen funktioniert WordPress „out-of-the-box“ mit nginx. Die Beiträge laden prima, die Funktionalität des Dashboards ist gut, solanga bis wir zum Thema Permalinks kommen. Wenn Du mit dem Apache und dem mod_rewrite Modul arbeitest, wird WordPress die erforderlichen Rewrite-Regeln für die Permalinks in die .htaccess-Datei schreiben. Für den nginx Webserver musst Du die Regeln hinzufügen.

Erkennt WordPress, dass mod_rewrite nicht geladen wird (was ja unter nginx der Fall ist), fällt es zurück zur pathinfo Permalinks Struktur, welche eine zusätzliche „index.php“ einfügt. [Anmerkung: Wusste ich nicht. Steht hier und sieht dann im Ergebnis so aus: http://example.com/index.php/yyyy/mm/dd/post-name/.] Das war kein großes Problem für mich, da ich die benutzerdefinierte Linkstruktur verwendet habe um die indes.php zu entfernen. Das hat für mich gut funktioniert. (Screenshot unten)

Einstellungen Permalinks

Abgesehen davon musst Du die nginx Konfigurationsdatei bearbeiten, damit Deine Permalinks funktioniert. Wir werden dazu die try_files Direktive (verwendbar ab nginx 0.7.27+) verwenden, um URLs die über die index.php kommen für eine interne Verarbeitung zu übergeben. Das ffunktioniert dann auch für 404 Requests.

Wenn Dein Blog im Root-Verzeichnis Deiner Domain liegt (so etwas wie http://www.myblog.com) ist, suche den „location /“ Block in der Konfiguationsdatei und füge die folgende Zeile ein:

try_files $uri $uri/ /index.php?$args;

Hier prüft nginx die Existenz einer Datei für diese URL ($uri) und dann eines Verzeichnisses. Wenn nginx weder eine Datei noch ein Verzeichnis findet, führt er (welchen Artikel hat nginx eigentlich…?) eine interne Umleitung zur index.php durch und übergibt die Query-String-Argumente als Parameter.

Nach dem Bearbeiten sollte es so aussehen:

location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$args;
}

Wenn Dein Blog in einem Unterordner ist (z.B. “ /blog“), solltest Du einen separaten „Location /blog/“-Block zu Deinem Konfiguratuionsfile hinzufügen :

location /blog/ {
    try_files $uri $uri/ /blog/index.php?$args;
}

Nachdem Du die Änderungen im Konfigurationsfile durchgeführt hast, lade dieses neu mittels:

nginx -s reload

Nun sollte sollten Deine Permalinks wunderbar funktionieren.

An manchen Stellen wirkt meine Übersetzung vielleicht etwas hölzern. Ich war mir bei einigen Formulierungen nicht sicher, wie ich sie im übertragenen Sinne übersetzen sollte.
Wer hierzu Verbesserungsvorschäge machen möchte, kann dies gerne tun! 🙂

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Neueste Beiträge

  • WordPress Upload-Limit erhöhen – Warum .htaccess oft nichts bringt und wo die Limits wirklich liegen (PHP-FPM + Apache)
  • Rezension des Buchs von Marc Friedrich: Die größte Revolution aller Zeiten: Warum unser Geld stirbt und wie Sie davon profitieren!
  • Über Menschen – Julia Zeh
  • Zuversicht
  • Ich will schlaflose Nächte mit Dir, nicht wegen Dir!

Neueste Kommentare

    Archiv

    • März 2026
    • Januar 2024
    • Dezember 2023
    • November 2017
    • Februar 2016
    • März 2015
    • Juli 2014

    Kategorien

    • Allgemein
    • Bitcoin
    • Gedichte
    • Geschichten
    • Instagram
    • Rezensionen
    • Rezepte
    • Webmaster

    Schlagwörter

    Abenteuerlust apache bitcoin blockchain Deutsche Autoren EZB Gambio Geld Geldsystem Gesellschaftsroman hackfleisch Inspiration und Hoffnung Juli Zeh Karriereambitionen Kryptowährungen Lebensveränderung Lebenswandel Melancholie Menschliche Beziehungen Mutige Entscheidungen Mädchen Nachdenkliche Frau Nacht Neue Anfänge Persönliche Entwicklung Persönliches Wachstum php Politische Themen in der Literatur Reiseerlebnis Rezept Romanrezension rote Haarre schlaflos Sehnsucht nach Veränderung Selbstentdeckung Sommersprossen Städtisches vs. ländliches Leben success Träume Träume verwirklichen Wordpress Zeitgenössische Literatur Zugabenteuer Zukunftsreise Über Menschen
    Rezept für Braune Soße mit Mirepoix
    Jahresende
    Königsberger Klopse
    Königsberger Klopse mit Kapern, Zitrone und Petersilie, wunderbar angerichtet.
    Spaghetti Carbonara

    Rechtliches

    • Impressum
    • Datenschutzerklärung
    © 2026 Bernd Scheffler | Powered by Superbs Personal Blog theme