Answers:
这些答案必须是过时的。使用带有正斜杠的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
在Windows上配置nginx时,请指定相对于C:\ nginx目录的任何路径。这有效:
location / {
alias ../Users/SomeUser/mysite/static;
}
就我个人而言,我很高兴学习这一点,因为它使我的Nginx配置在Windows和Linux之间的可移植性比我预期的要小。要将Linux配置文件转换为可在Windows上运行的文件,对我来说,基本上就是:
s|/home/myname/|../Users/Myname|
您可以尝试以下方法:
设置为nginx.conf
位置/ static / {别名/ nginx / html / staticfiles /; }
似乎别名对我的Windows系统根本不起作用。我尝试输入
alias "c:"
但这甚至行不通。在nginx重新加载配置文件后,我找不到输出位置的方法。因此,请不要在Windows中为Nginx使用别名。
alias ../../cde/folder;
,假设您的nginx.exe位于d:/ abc / nginx,但是您尝试别名的文件夹位于d:/ cde / folder。一些消息来源提到nginx是使用path硬编码的/cygdrive/c/nginx/
,在这种情况下alias /cygdrive/d/path/
应该使用,但这对我不起作用。还值得一提的是,别名路径末尾的正斜杠不应忽略。