嘿,我正在Varnish中努力解决以下问题
if (req.url ~ "/somepath/(.*)/saml/sp/metadata") {
set req.backend = somebackend_https;
set req.url = regsub(req.url, "/somepath/(.*)/saml/sp/metadata","$1/saml/sp/metadata");
set req.http.host = regsub(req.http.host, "^(.*).(.*)", "somehost.nl");
set req.proto = regsub(req.proto, "^HTTP", "^HTTPS");
return (lookup);
}
如何从替换字符串中的(。*)获得匹配项?
我尝试了$ 1,\1似乎没有任何效果。我错过了什么吗?还是应该以其他方式解决这个问题?
我使用 Varnish 3。
已经预先感谢!
最佳答案
Redithion是正确的,它的\1
。较早出现的配置中的另一条路线是我无法弄清楚这一点的原因:)
关于regex - Varnish :在替换字符串中使用来自正则表达式的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34399405/