私はnginxの設定がかなり新しいです。私はかなり基本的な問題に多少の困難を抱えています。/ docでいくつかの静的ファイル(index.html、いくつかの画像など)をホストしたいと思います。ファイルは/ sites / mysite / proj / doc /というディレクトリにあります。
問題は、nginxの以下の設定で、nginxが「/ sites / mysite / proj / doc / doc」というディレクトリを検索しようとすることです。おそらくこれは、ルートを/ sites / mysite / proj /に設定することで修正できますが、proj /ディレクトリ内の他の(非静的)アセットを潜在的に公開したくありません。また、さまざまな理由から、doc /ディレクトリを実際の場所から移動することはできません。
Rewriteルールを使用してこの状況を解決する方法はあると思いますが、すべての部分を本当に理解していないため、ルールの定式化に多少の困難があります。
rewrite ^/doc/(.*)$ /$1 permanent;
また、/ sites / mysite / htdocs / static /ディレクトリからファイルをホストする実際の例を含めました。
> vim locations.conf
location /static {
root /sites/mysite/htdocs/;
access_log off;
autoindex on;
}
location /doc {
root /sites/mysite/proj/doc/;
access_log on;
autoindex on;
}
2011/11/19 23:49:00 [error] 2314#0: *42 open() "/sites/mysite/proj/doc/doc" failed (2: No such file or directory), client: 100.100.100.100, server: , request: "GET /doc HTTP/1.1", host: "myhost.com"
この静的コンテンツを提供する方法について、誰にもアイデアはありますか?
root
参照したドキュメントに従って、代わりに使用することをお勧めします(「場所がディレクティブの値の最後の部分に一致する場合」を参照)