Câu trả lời:
Những câu trả lời phải hết hạn. Sử dụng nginx 1.3.8 đường dẫn tuyệt đối với dấu gạch chéo phía trước hoạt động. Dấu gạch chéo ngược dường như hoạt động, nhưng nên được nhân đôi. Nếu họ không thì một số, chẳng hạn như một dấu vết \"
được thực hiện theo nghĩa đen.
location /static/ {
# alias "C:\\foo\\bar\\...\\static\\";
alias "C:/foo/bar/.../static/";
expires 90d;
}
Các trích dẫn có thể không được yêu cầu, nhưng chúng có vẻ như là một ý tưởng tốt trong trường hợp không gian nhúng.
Một điều khác tôi nhận thấy là điều quan trọng là phải khớp đường dẫn url và bí danh liên quan đến việc kết thúc bằng dấu gạch chéo hay không - một sự không phù hợp và nó không hoạt động.
Nếu bạn cố gắng chỉ định một đường dẫn tuyệt đối như ...
location / {
alias C:\Users\SomeUser\mysite\static;
}
... sau đó khi yêu cầu một tệp từ vị trí đó, có thể bạn sẽ thấy lỗi trong C: \ nginx \ log \ error.log như:
2011/11/11 12:53:16 [error] 6236#0: *1 open() "/cygdrive/c/nginx/C:\Users\SomeUser\mysite\static\somefile.css
Khi định cấu hình nginx trên Windows, chỉ định bất kỳ đường dẫn nào liên quan đến thư mục C: \ nginx. Những công việc này:
location / {
alias ../Users/SomeUser/mysite/static;
}
Cá nhân, tôi rất vui khi biết điều này bởi vì nó làm cho cấu hình nginx của tôi dễ di chuyển hơn một chút giữa Windows và Linux so với tôi dự kiến. Để biến một tệp cấu hình Linux thành một tệp hoạt động trên Windows, về cơ bản, đó chỉ là:
s|/home/myname/|../Users/Myname|
Bạn có thể thử điều này:
thiết lập vào nginx.conf
vị trí / tĩnh / {bí danh / nginx / html / staticfiles /; }
có vẻ như bí danh hoàn toàn không hoạt động cho hệ thống cửa sổ của tôi. Tôi đã cố gắng gõ
alias "c:"
nhưng ngay cả điều này không hoạt động. Và tôi không thể tìm cách xuất vị trí sau khi tệp cấu hình được tải lại bởi nginx. Vì vậy, đơn giản là không sử dụng bí danh trong windows cho nginx.
alias ../../cde/folder;
giả sử nginx.exe của bạn định vị tại d: / abc / nginx, nhưng thư mục bạn cố gắng đặt bí danh nằm ở thư mục d: / cde /. Một số nguồn đề cập rằng nginx đã được mã hóa cứng với đường dẫn /cygdrive/c/nginx/
, trong trường hợp này alias /cygdrive/d/path/
nên được sử dụng, nhưng điều này không hiệu quả với tôi. Cũng đáng được đề cập rằng không nên bỏ qua dấu gạch chéo phía trước ở cuối đường dẫn bí danh.
Đối với Nginx trên windows, bạn phải sử dụng phương pháp này:
vị trí / foo {
root C: // pathtoyourfile / thư mục1 / thư mục2;
} trong đó foo là một thư mục thực tế trong thư mục2