以简单的方式用通配符替换其中一个段?
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;
}
我在 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;
}