root
deve ser colocado no bloco server
, não no bloco location
. Este é um dos misconfigurations mais comuns do nginx .
Essa alteração também corrigirá seu problema e eliminará a necessidade desse bloco location
.
O nginx serve arquivos estáticos que mapeiam de caminhos uri para caminhos de pastas como:
www.tempuri.org/js <=> /var/www/plublic/js
www.tempuri.org/css <=> /var/www/plublic/css
www.tempuri.org/img <=> /var/www/plublic/img
www.tempuri.org/foobar <=> /var/www/plublic/foobar
No meu nginx conf, as regras para isso, essencialmente, todas têm a mesma raiz:
location /js/ {
root /var/www/public/;
}
location /css/ {
root /var/www/public/;
}
location /foobar/ {
root /var/www/public/;
}
location /img/ {
root /var/www/public/;
}
Como posso escrever uma única regra para todos os 4 caminhos?
location /(css|js|img|foobar)/ {
root /var/www/public
}
?
root
deve ser colocado no bloco server
, não no bloco location
. Este é um dos misconfigurations mais comuns do nginx .
Essa alteração também corrigirá seu problema e eliminará a necessidade desse bloco location
.
Você praticamente tem isso.
location ~ ^/(css|js|img|foobar)/ {
root /var/www/public/;
}
Tags nginx