如何将部分 URL 复制到重定向路径



我正在尝试重定向路径,例如www.something.com/apple/piewww.something.com/tickets/pie-details

这是我尝试过但没有用的:

if (req.url ~ "^/apple/.*") {
set req.url = "^/tickets/.*-details";
error 701 req.url;
}

我错过了什么吗?

您要么需要从正则表达式中捕获匹配项,要么如果很简单,只需使用regsub()替换

但是,我读到这些不再捆绑在核心清漆中,因此您可能需要一个 vmod。这个似乎是你需要的:https://gitlab.com/uplex/varnish/libvmod-re

以下是有关如何使用它的一些文档: https://docs.fastly.com/en/guides/vcl-regular-expression-cheat-sheet#capturing-matches

基本上,re对象允许您使用匹配的部分,然后使用字符串操作组装新 url。

以上所有内容都是使用我对 vcl 和正则表达式的了解进行推测的,但我个人没有尝试过。

最新更新