我让 nginx 提供从 uri 路径映射到文件夹路径的静态文件,例如:
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 配置中,这些规则基本上都有相同的根:
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 条路径编写一条规则?
location /(css|js|img|foobar)/ {
root /var/www/public
}
?
答案1
root
应该放在server
块中,而不是location
块中。这是最常见的 nginx 配置错误。
进行此更改还将解决您的问题并消除需要对于该location
块。
答案2
您基本上已经拥有它了。
location ~ ^/(css|js|img|foobar)/ {
root /var/www/public/;
}