由于下面两个'if语句'服务于相同类型的文件,但检查URL中的不同参数,如第一个检查'flag1',第二个检查'flag2',我想将这两个检查合并为一个'if语句'服务于该文件:
location /app/ {
location ~ "^(.*)/([^/]+)_flag.(.*)$" {
try_files $uri $1/$2.$3 =404;
}
if ( $args ~ "^.*flag1.*$" ) {
rewrite ^(.*)/([^/]+(?<!_flag)).(.*)$ $1/$2_flag.$3 last;
}
if ( $args ~ "^.*flag2.*$" ) {
rewrite ^(.*)/([^/]+(?<!_flag)).(.*)$ $1/$2_flag.$3 last;
}
}
这可能吗?
这是可能的。您应该使用or
条件:
if ( $args ~ "(^.*flag1.*$)|(^.*flag2.*$)" )