我使用的是官方的windows版本的nginx。 我想指定相当于这个configuration的窗口
location /static/ { alias /home/user/staticfiles/; }
如何在别名指令中指定windows文件path? 这甚至有可能吗?
这些答案必须过时。 使用nginx 1.3.8绝对path与正斜杠工程。 反斜杠似乎工作,但应该翻倍。 如果他们不是那么一些,例如一个尾随\"
从字面上被采取。
location /static/ { # alias "C:\\foo\\bar\\...\\static\\"; alias "C:/foo/bar/.../static/"; expires 90d; }
引号可能不是必需的,但是在embedded空格的情况下,它们似乎是个好主意。
我注意到的另一件事是,重要的是匹配URL和别名path结尾与一个尾部的斜线或不匹配,它不起作用。
如果您尝试指定绝对path,如…
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上configurationnginx时,指定相对于C:\ nginx目录的任何path。 这工作:
location / { alias ../Users/SomeUser/mysite/static; }
就我个人而言,我很高兴能够学习这一点,因为它使得我的nginxconfiguration在Windows和Linux之间的移植性比我预期的要高一些。 要将Linuxconfiguration文件转换为适用于Windows的configuration文件,对我来说基本上只是:
s|/home/myname/|../Users/Myname|
你可以试试这个:
设置成nginx.conf
location / static / {别名/ nginx / html / staticfiles /; }
似乎别名不工作在我的Windows系统。 我试图打字
alias "c:"
但即使这样也行不通。 在configuration文件被nginx重新加载后,我无法find输出位置的方法。 所以,不要在windows的别名中使用别名。