Я досить новачок у nginx-конфігураціях. У мене виникають труднощі з досить базовою проблемою. Я хотів би розмістити статичні файли в / doc (index.html, деякі зображення тощо). Файли розміщені в каталозі під назвою / sites / mysite / proj / doc /.
Проблема полягає в тому, що з конфігурацією nginx нижче, nginx намагається шукати каталог під назвою "/ sites / mysite / proj / doc / doc". Можливо, це можна виправити, встановивши корінь на / sites / mysite / proj /, але я не хочу потенційно виставляти інші (нестатичні) активи в каталозі proj /. І з різних причин я не можу реально перемістити документ / каталог з того місця, де він є.
Я думаю, що існує спосіб використовувати правило Переписати для вирішення цієї ситуації, але я не дуже розумію всі частини, тому виникають певні труднощі при формулюванні цього правила.
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
замість документа, про який ви згадували (див. "Коли місцеположення відповідає останній частині значення директиви")