0

我需要帮助从字符串req.url.path中提取值,如下所示:

/a/b/c/d

需要解压c,如果有url,比如/a,应该返回''。我试过了

regsub(req.url.path, "/a/b/", "\5");

也尝试过替换。但它对我没有有效的工作。请帮我。

4

1 回答 1

1

我相信以下内容可能符合您的要求:

if (req.url.path ~ "^/a/.+/c") {
  set req.url = regsub(req.url.path, "/c", "") + "?" + req.url.qs;
}

它检查 URL 路径是否以开头/a和后面跟着/c(假设中间有段,例如/b根据您给定的示例/a/b/c/d)。

这是一个 Fastly Fiddle 链接,供您使用代码:
https ://fiddle.fastlydemo.net/fiddle/527480ba

所以给定输入的 URL 路径:

/a/b/c/d?id=testing

它将更改为:

/a/b/d?id=testing

请注意,/c已从路径中提取 。

于 2021-09-15T14:25:17.633 回答