0

私はこのように定義された場所を持っています。

location ~ \.(jpg|jpeg|png|gif|swf|flv|mp4|mov|avi|wmv|m4v|mkv|ico|css|js|txt|html|htm)$ {
    root /path/to/static/files/;
}

どれが入っているかをリクエスト/events.jsすると、/path/to/static/files/うまくいきます。

/func.jsしかし、どれが入っているかをリクエストしても、/other/path/to/static/files/見つかりません。

したがって、静的ファイルを見つけることができる 2 つの場所が必要です。2 つの要求の間にその他の違いはありません。これらは同じアプリからのものであり、唯一の違いはファイルの物理的な場所です。また、完全にランダムなファイルの名前もわかりません。

解決

location ~ \.(jpg|jpeg|png|gif|swf|flv|mp4|mov|avi|wmv|m4v|mkv|ico|css|js|txt|html|htm)$ {
    root /;
    try_files /path/to/static/files/$uri /other/path/to/static/files/$uri /;
}
4

1 に答える 1

0

次のようなことを試してください。

location ~ \.(jpg|jpeg|png|gif|swf|flv|mp4|mov|avi|wmv|m4v|mkv|ico|css|js|txt|html|htm)$ {
  root /;
  try_files /path/to/static/files/$uri /other/path/to/static/files/$uri;
}

その仕組みについてはhttp://nginx.org/en/docs/http/ngx_http_core_module.html#try_filesを参照してください

于 2012-11-17T21:07:27.263 に答える