linux服务器可以检查url中的多个参数使它们服务于同一个文件吗?



由于下面两个'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.*$)" )

相关内容

  • 没有找到相关文章

最新更新