Вы можете использовать псевдоним, вот так:
location /doc { alias /sites/mysite/proj/doc/; }
Я довольно новичок в конфигах nginx. У меня возникли сложности с довольно простой проблемой. Я хотел бы разместить некоторые статические файлы в / doc (index.html, некоторые изображения и т. Д.). Файлы находятся в каталоге / sites / mysite / proj / doc /.
Проблема в том, что с помощью конфигурации nginx, представленной ниже, nginx пытается найти каталог с именем "/ sites / mysite / proj / doc / doc". Возможно, это можно исправить, установив root в / sites / mysite / proj /, но я не хочу потенциально выставлять другие (нестатические) ресурсы в каталоге proj /. И по разным причинам я не могу переместить каталог doc / туда, где он находится.
Я думаю, что есть способ использовать правило переписывания для решения этой ситуации, но я не совсем понимаю все части, поэтому возникли некоторые трудности при формулировании правила.
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"
У кого-нибудь есть какие-нибудь идеи, как я могу использовать этот статический контент?
Вы можете использовать псевдоним, вот так:
location /doc { alias /sites/mysite/proj/doc/; }