Ответы:
Эти ответы должны быть устаревшими. Использование абсолютных путей nginx 1.3.8 с прямой косой чертой работает. Обратная косая черта, кажется, работает, но должна быть удвоена. Если их нет, то некоторые, такие как трейлинг \"
, воспринимаются буквально.
location /static/ {
# alias "C:\\foo\\bar\\...\\static\\";
alias "C:/foo/bar/.../static/";
expires 90d;
}
Кавычки могут не требоваться, но они кажутся хорошей идеей в случае встроенных пробелов.
Еще одна вещь, которую я заметил, - это то, что важно сопоставить путь URL и псевдонима в отношении окончания с косой чертой или нет - несоответствие, и это не работает.
Если вы попытаетесь указать абсолютный путь, как ...
location / {
alias C:\Users\SomeUser\mysite\static;
}
... затем при запросе файла из этого места вы, вероятно, увидите ошибки в C: \ nginx \ logs \ error.log, например:
2011/11/11 12:53:16 [error] 6236#0: *1 open() "/cygdrive/c/nginx/C:\Users\SomeUser\mysite\static\somefile.css
При настройке nginx в Windows укажите любые пути относительно каталога C: \ nginx. Это работает:
location / {
alias ../Users/SomeUser/mysite/static;
}
Лично я был счастлив узнать об этом, потому что это делает мои конфигурации nginx немного более переносимыми между Windows и Linux, чем я ожидал. Чтобы превратить файл конфигурации Linux в тот, который работает в Windows, для меня это просто:
s|/home/myname/|../Users/Myname|
Вы можете попробовать это:
установить в nginx.conf
location / static / {псевдоним / nginx / html / staticfiles /; }
кажется, что псевдоним вообще не работает для моей системы Windows. Я пытался набрать
alias "c:"
но даже это не работает. И я не могу найти способ вывода местоположения после перезагрузки файла конфигурации с помощью nginx. Так что просто не используйте псевдоним в Windows для nginx.
alias ../../cde/folder;
предположим, что ваш файл nginx.exe находится в каталоге d: / abc / nginx, а папка, в которой вы пытаетесь создать псевдоним, - в папке d: / cde /. Некоторые источники упоминают, что nginx был жестко запрограммирован с путем /cygdrive/c/nginx/
, в этом случае alias /cygdrive/d/path/
следует использовать, но это не работает для меня. Также стоит упомянуть, что косой чертой в конце пути псевдонима не следует пренебрегать.
Для Nginx в Windows вы должны использовать этот метод:
location / foo {
root C: // pathtoyourfile / folder1 / folder2;
} где foo - это фактическая папка внутри folder2