Você pode usar o alias, assim:
location /doc {
alias /sites/mysite/proj/doc/;
}
Sou bem novo nas configurações do nginx. Estou tendo alguma dificuldade com um problema bem básico. Eu gostaria de hospedar alguns arquivos estáticos em / doc (index.html, algumas imagens, etc). Os arquivos estão localizados em um diretório chamado / sites / mysite / proj / doc /.
O problema é que, com a configuração nginx abaixo, o nginx tenta procurar um diretório chamado "/ sites / mysite / proj / doc / doc". Talvez isso possa ser corrigido definindo a raiz como / sites / mysite / proj /, mas não quero expor outros ativos (não estáticos) no diretório proj /. E por várias razões, não consigo mover o diretório doc / de onde ele está.
Eu acho que existe uma maneira de usar uma regra de Reescrita para resolver esta situação, mas eu realmente não entendo todas as partes, então tenho dificuldade em formular a regra.
rewrite ^/doc/(.*)$ /$1 permanent;
Eu também incluí um exemplo de hospedagem de arquivos de um diretório / 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"
Alguém tem alguma ideia de como eu posso servir esse conteúdo estático?