답변:
답변이 최신이 아니어야합니다. 슬래시와 함께 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가 구성 파일을 다시로드 한 후 위치를 출력하는 방법을 찾을 수 없습니다. 따라서 nginx의 창에서 별칭을 사용하지 마십시오.
alias ../../cde/folder;
nginx.exe가 d : / abc / nginx에 있지만 별칭을 지정하려는 폴더가 d : / cde / folder에 있다고 가정합니다. 일부 소스는 nginx가 경로로 하드 코딩되어 있다고 언급 하는데,이 /cygdrive/c/nginx/
경우 alias /cygdrive/d/path/
사용해야하지만 이것은 효과가 없습니다. 또한 별칭 경로의 끝에서 슬래시를 무시해서는 안된다는 것을 언급 할 가치가 있습니다.