带有转义字符的清漆缓存重定向URL

时间:2017-11-07 14:37:45

标签: url caching escaping varnish

我有一个处理重定向的Varnich配置文件。以这个工作示例为例:

if(req.http.X-bare ~ "/faq/?$") { 
     return(synth(301,req.http.x-redir+"/faq-new?business=redir_mydomain.com&"+req.http.x-query+"#"));
}

这可以按预期工作。但是,如果我要匹配的URL包含应该转义的字符,我无法使其工作,例如:

if(req.http.X-bare ~ "/faq\?foo=bar/?$") { 
     return(synth(301,req.http.x-redir+"/faq-new?business=redir_mydomain.com&"+req.http.x-query+"#"));
}

在上述情况下,未进行匹配,我看不到预期的重定向。

1 个答案:

答案 0 :(得分:0)

这似乎有效:

if(req.url ~ "/faq\?foo=bar/?$") { 
     return(synth(301,req.http.x-redir+"/faq-new?business=redir_mydomain.com&"+req.http.x-query+"#"));
}

所以使用'req-url'而不是'req.http.X.bare'。