回答:
これらの答えは古くなければなりません。スラッシュ付きのnginx 1.3.8絶対パスを使用すると機能します。バックスラッシュは機能するようですが、二重にする必要があります。そうでない場合は、末尾などの一部\"
が文字どおりに取得されます。
location /static/ {
# alias "C:\\foo\\bar\\...\\static\\";
alias "C:/foo/bar/.../static/";
expires 90d;
}
引用符は必要ないかもしれませんが、スペースが埋め込まれている場合には良い考えのようです。
私が気づいたもう1つのことは、末尾のスラッシュで終わるかどうかで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に設定します
location / static / {alias / nginx / html / staticfiles /; }
私のWindowsシステムではエイリアスがまったく機能しないようです。入力しようとしました
alias "c:"
しかし、これでも機能しません。そして、構成ファイルがnginxによってリロードされた後、場所を出力する方法を見つけることができません。したがって、nginxのウィンドウではエイリアスを使用しないでください。
alias ../../cde/folder;
ます。nginx.exeがd:/ abc / nginxにあるが、エイリアスしようとしているフォルダーがd:/ cde / folderにあると仮定します。いくつかの情報源は、nginxがpath /cygdrive/c/nginx/
でハードコーディングされていると述べていますが、その場合alias /cygdrive/d/path/
は使用する必要がありますが、これは私には機能しません。また、エイリアスパスの末尾のスラッシュは無視しないでください。