gpt4 book ai didi

varnish - VCL中的 "~"符号是什么意思?

转载 作者:行者123 更新时间:2023-12-03 17:45:41 25 4
gpt4 key购买 nike

我发现如果语句“〜” ,这在 Varnish vcl 中使用

if (req.url ~ "phpMyAdmin") {
return (pass);
}

我了解它像 == 一样工作,像 in_array()
if ( req.http.User-Agent ~ "(Android|iPhone|iPad|BlackBerry|SAMSUNG)") 
return(pass);
}

有人可以解释一下这是什么意思吗?
它也是默认的php运算符吗?和 == 有什么区别

最佳答案

根据 official documentation~ 匹配运算符
== 比较两个值,如果相等则返回真
~ 根据正则表达式检查值,如果值匹配则返回 true

~ Match. Can either be used with regular expressions or ACLs.


# match an IP address against an ACL
if (client.ip ~ local) {
return (pipe);
}

Varnish uses Perl-compatible regular expressions (PCRE). To send flags to the PCRE engine, such as to do case insensitive matching, add the flag within parens following a question mark, like this:


# If host is NOT example dot com..
if (req.http.host !~ "(?i)example\.com$") {
...
}

关于varnish - VCL中的 "~"符号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52201433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com