我有这个网址:
http://my.api.com/v1/{api_key}/{user_token}/?someparam=hello&force=true&someotherparam=world
api_key
uuid在哪里user_token
?
如何提取force
查询参数的值,如果缺少强制参数或将其设置为 false,则从清漆缓存中进行查找。如果它设置为 true,我需要访问我的后端服务器。查询参数可以是任何顺序。
我有这个网址:
http://my.api.com/v1/{api_key}/{user_token}/?someparam=hello&force=true&someotherparam=world
api_key
uuid在哪里user_token
?
如何提取force
查询参数的值,如果缺少强制参数或将其设置为 false,则从清漆缓存中进行查找。如果它设置为 true,我需要访问我的后端服务器。查询参数可以是任何顺序。
我建议你颠倒逻辑:
sub vcl_recv {
if (req.url ~ "(?i)force=(true|yes)") {
return(pass);
}
// other values will fall through to the safe default VCL that will do return(lookup).
}
类似于 Ikarsten 的答案,但不匹配 xxxtoken 参数。
sub vcl_recv {
if (req.url ~ "(\?|\&)token=") {
return(pass);
}
}
在您的 vcl_recv 中,您可以使用以下内容检查不存在的 force= 或 force=true :
if(!req.url ~ "&|\?force=" || req.url ~ "&|\?force=true") {
return(pass);
}