Nginx用于多个路径的相同配置

adi*_*tsu 10 nginx

我想以相同的方式在站点内配置多个路径(例如/ foo /和/ bar /).为了避免复制粘贴,我想我应该使用单个位置块,但我发现这样做的唯一方法是使用正则表达式,例如:

location ~ ^/(foo|bar)/ {
    ...
}
Run Code Online (Sandbox Code Playgroud)

这是最好的方式还是有更好的选择?

Moh*_*ady 5

这可行,但我认为它工作得慢,因为它涉及一个正则表达式引擎,另一个替代方案,你可以在一个单独的文件中创建你想要的配置,并将它们包含在每个位置,以便它可以写入一次,并可以一起编辑, 像这样

location /foo {
    include foo.conf;
}
location /bar {
    include foo.conf;
}
Run Code Online (Sandbox Code Playgroud)

在里面foo.conf你可以写一个location范围内的任何配置,这是
一个随机的样本片段:

root /foo/bar;
try_files $uri /index.html;
Run Code Online (Sandbox Code Playgroud)