Réponses:
Ces réponses doivent être obsolètes. L'utilisation des chemins absolus de nginx 1.3.8 avec des barres obliques fonctionne. Les barres obliques inverses semblent fonctionner, mais devraient être doublées. S'ils ne le sont pas, certains, comme un tiret, \"
sont pris à la lettre.
location /static/ {
# alias "C:\\foo\\bar\\...\\static\\";
alias "C:/foo/bar/.../static/";
expires 90d;
}
Les guillemets peuvent ne pas être requis, mais ils semblent être une bonne idée dans le cas d'espaces intégrés.
Une autre chose que j'ai remarquée est qu'il est important de faire correspondre le chemin de l'url et de l'alias concernant la fin ou non d'une barre oblique - une incompatibilité et cela ne fonctionne pas.
Si vous essayez de spécifier un chemin absolu comme ...
location / {
alias C:\Users\SomeUser\mysite\static;
}
... puis en demandant un fichier à partir de cet emplacement, vous verrez probablement des erreurs dans C: \ nginx \ logs \ error.log comme:
2011/11/11 12:53:16 [error] 6236#0: *1 open() "/cygdrive/c/nginx/C:\Users\SomeUser\mysite\static\somefile.css
Lors de la configuration de nginx sous Windows, spécifiez tous les chemins relatifs au répertoire C: \ nginx. Cela marche:
location / {
alias ../Users/SomeUser/mysite/static;
}
Personnellement, j'étais heureux d'apprendre cela car cela rend mes configurations nginx un peu plus portables entre Windows et Linux que je ne m'y attendais. Pour transformer un fichier de configuration Linux en un fichier qui fonctionne sous Windows, pour moi, c'est simplement:
s|/home/myname/|../Users/Myname|
Vous pouvez essayer ceci:
défini dans nginx.conf
location / static / {alias / nginx / html / staticfiles /; }
semble que l'alias ne fonctionne pas du tout pour mon système Windows. J'ai essayé de taper
alias "c:"
mais même cela ne fonctionne pas. Et je ne trouve pas de moyen de sortir l'emplacement après le rechargement du fichier de configuration par nginx. Donc, n'utilisez simplement pas d'alias dans Windows pour nginx.
alias ../../cde/folder;
:, supposez que votre nginx.exe se trouve dans d: / abc / nginx, mais le dossier que vous essayez d'alias se trouve dans d: / cde / dossier. Certaines sources mentionnent que nginx a été codé en dur avec le chemin d'accès /cygdrive/c/nginx/
, auquel cas alias /cygdrive/d/path/
il convient de l'utiliser, mais cela ne fonctionne pas pour moi. Méritent également de mentionner que la barre oblique à la fin du chemin d'alias ne doit pas être négligée.
Pour Nginx sur Windows, vous devez utiliser cette méthode:
emplacement / foo {
racine C: // pathtoyourfile / folder1 / folder2;
} où foo est un dossier réel dans folder2