Wie statische Dateien von einem bestimmten Verzeichnis auf einer über Nginx ausgeführten WordPress-Site bereitgestellt werden
Ich habe eine WordPress-Site, die auf Nginx läuft. In meiner Konfiguration habe ich einen Standortblock wie folgt:
location / { try_files $uri $uri/ /index.php?$args; }
Ich möchte ein spezielles Verzeichnis mit statischem Inhalt haben. Wenn eine URL mit einer Datei im statischen Verzeichnis übereinstimmt, möchte ich, dass sie anstelle des Wordpress-Inhalts bereitgestellt wird.
Ich kann die Namen der Dateien nicht im Voraus kennen.
Ich habe versucht, meinen Standortblock in zu ändern
location / { try_files /static/$uri /static/$uri/ $uri $uri/ /index.php?$args; }
Meistens tut das, was ich will (solange static
ein Verzeichnis darunter ist $document_root
), aber es schreibt die URL neu, die der Besucher sieht. Ich möchte das möglichst vermeiden. Vermeiden Sie z. B. eine https://example.com/catalog.php
Weiterleitung zu https://example.com/static/catalog.php
. Ich möchte nur, dass Nginx den Inhalt statisch bereitstellt, ohne dass der Besucher dies weiß.
Ich war vielleicht nicht besonders klar.
Mein WordPress-Inhalt befindet sich in /srv/www/mysite/html
und meine Nginx-Konfiguration sieht ungefähr so aus:
server { root /srv/www/mysite/html; location / { try_files $uri $uri/ /index.php?$args; } }
Ich habe einen anderen Ordner /home/dave/static
mit beliebigem Inhalt. Angenommen, es hat eine Datei namens catalog.html
. Wenn ein Besucher besucht https://example.com/catalog.html
, möchte ich, dass der Inhalt /home/dave/static/catalog.html
geliefert wird. Wenn es keine passende statische Datei gibt, möchte ich auf den Inhalt von WordPress zurückgreifen.
Hier ist etwas anderes, was ich inzwischen ausprobiert habe:
server { root /srv/www/mysite/html; location / { root /home/dave/static; try_files $uri $uri/ @fallback; } location @fallback { try_files $uri $uri/ /index.php?$args; } }
Diese Konfiguration funktioniert nicht. Es scheint keinen der statischen Inhalte zu erkennen und dient nur WordPress-Inhalten.
0 Antworten auf die Frage
Verwandte Probleme
-
2
NGINX, FastCGI PHP mit FTP-Zugriff, Wie werden Benutzer / Berechtigungen eingerichtet?
-
2
Warum leitet Nginx eine fremde URL um?
-
1
Passenger + Nginx-Leistung sinkt sehr schnell ...?
-
1
Update-rc.d liefert Fehler
-
2
Wie kann der Inhalt einer error.log-Datei gelöscht werden, die Datei bleibt jedoch erhalten
-
1
Befehl zum Aktualisieren des Terminals, wenn die Datei aktualisiert wird
-
1
nginx + OpenSSL installieren
-
1
Was ist der Unterschied zwischen "root / dir / name" und "alias / dir / name" in Nginx?
-
1
Wie deinstalliere ich Nginx (von Quellcode installiert) auf CentOS?
-
1
Wie füge ich / opt / nginx zu meinen Pfadvariablen hinzu, damit ich nginx unter Mac OS X verwenden k...