Diese Antworten müssen veraltet sein. Die Verwendung von Nginx 1.3.8-Absolutpfaden mit Schrägstrichen funktioniert. Backslashes scheinen zu funktionieren, sollten aber verdoppelt werden. Wenn dies nicht der Fall ist, werden einige, z. B. ein Trailing \"
, wörtlich genommen.
location /static/ {
# alias "C:\\foo\\bar\\...\\static\\";
alias "C:/foo/bar/.../static/";
expires 90d;
}
Die Anführungszeichen sind möglicherweise nicht erforderlich, scheinen jedoch für eingebettete Leerzeichen eine gute Idee zu sein.
Eine andere Sache, die mir aufgefallen ist, ist, dass es wichtig ist, den URL- und Alias-Pfad in Bezug auf das Beenden mit einem abschließenden Schrägstrich abzugleichen oder nicht - eine Nichtübereinstimmung und es funktioniert nicht.
Wenn Sie versuchen, einen absoluten Pfad wie ... anzugeben
... und wenn Sie eine Datei von diesem Speicherort anfordern, sehen Sie wahrscheinlich Fehler in C: \ nginx \ logs \ error.log wie:
Geben Sie bei der Konfiguration von nginx unter Windows alle Pfade relativ zum Verzeichnis C: \ nginx an. Das funktioniert:
Persönlich habe ich mich gefreut, das zu erfahren, da meine Nginx-Konfigurationen dadurch ein wenig portabler zwischen Windows und Linux sind, als ich erwartet hatte. Um eine Linux-Konfigurationsdatei in eine unter Windows funktionierende zu verwandeln, ist es für mich im Grunde nur Folgendes:
quelle
Sie können dies versuchen:
in nginx.conf setzen
location / static / {alias / nginx / html / staticfiles /; }
quelle
scheint, dass Alias für mein Windows-System überhaupt nicht funktioniert. Ich habe versucht zu tippen
aber auch das geht nicht. Und ich kann keine Möglichkeit finden, den Speicherort auszugeben, nachdem die Konfigurationsdatei von nginx neu geladen wurde. Verwenden Sie daher in Windows für Nginx einfach keinen Alias.
quelle
alias ../../cde/folder;
Angenommen, Ihre Datei nginx.exe befindet sich unter d: / abc / nginx, der zu aliasende Ordner jedoch unter d: / cde /. Einige Quellen erwähnen, dass Nginx mit dem Pfad fest codiert/cygdrive/c/nginx/
wurde. In diesem Fallalias /cygdrive/d/path/
sollte es verwendet werden, aber das funktioniert bei mir nicht. Erwähnenswert ist auch, dass der Schrägstrich am Ende des Alias-Pfads nicht vernachlässigt werden darf.Für Nginx unter Windows müssen Sie diese Methode verwenden:
lage / foo {
root C: // pathtoyourfile / folder1 / folder2;
} Wobei foo ein tatsächlicher Ordner in folder2 ist
quelle