1

我正在尝试使用大使prefix_regexregex_rewrite.
我想要这两个路由前缀:

       /my/route/<something>
      /api/v1/my/route/<something>

将被映射到: /my/route/<something>
这是我试图使用的:

apiVersion: ambassador/v2
kind: Mapping
prefix_regex: true
prefix: (/api/v1)?/my/route
regex_rewrite:
    pattern: "/api/v1/my/route/(.*)"
    substitution: "/my/route/\\1"

按预期使用regex_rewrite常规prefix作品 按预期
使用prefix_regex常规rewrite作品,
但我从特使那里收到 404。

有任何想法吗?

我正在使用大使 1.7.0 版本

4

1 回答 1

1

通过在前缀末尾添加 /.* 解决。

prefix: (/api/v1)?/my/route/.*

看起来 prefix_regex 会自动添加$到前缀的末尾,这意味着我们需要指定映射的完整路径而不仅仅是前缀。

于 2020-11-08T11:36:38.353 回答