以简单的方式用通配符替换其中一个段?

Replace one of the segment with a wildcard in a simple way?

我在 nginx 配置中有这段代码:

location ~ ^/assets/(static|dynamic)/(images|styles|scripts|fonts|videos|audios|var)/(.*) {
    alias /var/web/app1/assets///;
    autoindex off;
    expires 366d;
}

现在我想用通配符替换 (images|styles|scripts|fonts|videos|audios|var)。一切都应该继续按原样工作。也就是说,在该段中,可以有一个任意名称的目录。

有没有简单的方法简单的方法?最好没有正则表达式。

如果您想用通配符替换此部分 (images|styles|scripts|fonts|videos|audios|var),您可以删除该部分并只保留 (.*) 位置。

像这样:

location ~ ^/assets/(static|dynamic)/(.*)$ {
    alias /var/web/app1/assets//;
    autoindex off;
    expires 366d;
}

更新: 这是另一种方法,同时保留 4 个段,但使用正则表达式:

location ~ ^/assets/(static|dynamic)/([^/]+)/([^/]+)$ {
    alias /var/web/app1/assets///;
    autoindex off;
    expires 366d;
}