我正在使用 nginx 的官方 Windows 版本。我想指定与此配置等效的 Windows
location /static/ {
alias /home/user/staticfiles/;
}
Run Code Online (Sandbox Code Playgroud)
如何在别名指令中指定 Windows 文件路径?这甚至可能吗?
Gri*_*ave 18
这些答案肯定已经过时了。使用带有正斜杠的 nginx 1.3.8 绝对路径有效。反斜杠似乎有效,但应该加倍。如果它们不是那么一些,例如尾随\"从字面上看。
location /static/ {
# alias "C:\\foo\\bar\\...\\static\\";
alias "C:/foo/bar/.../static/";
expires 90d;
}
Run Code Online (Sandbox Code Playgroud)
引号可能不是必需的,但在嵌入空格的情况下,它们似乎是一个好主意。
我注意到的另一件事是,匹配 url 和别名路径很重要,因为结尾是否以斜杠结尾 - 不匹配并且它不起作用。
如果您尝试指定一个绝对路径,例如...
location / {
alias C:\Users\SomeUser\mysite\static;
}
Run Code Online (Sandbox Code Playgroud)
...然后在从该位置请求文件时,您可能会在 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
Run Code Online (Sandbox Code Playgroud)
在 Windows 上配置 nginx 时,指定相对于 C:\nginx 目录的任何路径。这有效:
location / {
alias ../Users/SomeUser/mysite/static;
}
Run Code Online (Sandbox Code Playgroud)
就我个人而言,我很高兴了解到这一点,因为它使我的 nginx 配置在 Windows 和 Linux 之间的可移植性比我预期的要好一些。要将 Linux 配置文件转换为适用于 Windows 的配置文件,对我来说基本上只是:
s|/home/myname/|../Users/Myname|
Run Code Online (Sandbox Code Playgroud)
你可以试试这个:
设置到nginx.conf
位置 /static/ { 别名 /nginx/html/staticfiles/; }
| 归档时间: |
|
| 查看次数: |
51144 次 |
| 最近记录: |