我有nginx服务静态文件,从uripath映射到文件夹path,如:
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
在我的nginx conf中,这个规则基本上都有相同的根:
location /js/ { root /var/www/public/; } location /css/ { root /var/www/public/; } location /foobar/ { root /var/www/public/; } location /img/ { root /var/www/public/; }
我怎样才能为所有4条path写一条规则?
location /(css|js|img|foobar)/ { root /var/www/public }
?
root应放置在server块中,而不是位于块中。 这是最常见的nginx错误configuration之一 。
进行这一更改也将解决您的问题,并消除该location块的需要 。
你几乎拥有它。
location ~ ^/(css|js|img|foobar)/ { root /var/www/public/; }