使用查询参数的路由规则条件不起作用

时间:2019-02-04 17:56:25

标签: amazon-web-services aws-lambda

我仅在查询参数中包含?img.crop=件时才尝试重定向。例如。我有此链接:“ http://somedomain.com/pic.jpg?img.crop=400x400”。我只想在有?img.crop=个片段时裁剪图像。 我尝试使用<KeyPrefixEquals>?img.crop=</KeyPrefixEquals>,但是它不起作用->仅加载原始图像并且不重定向,即使URL中提供了?img.crop=个片段。

<RoutingRules>
  <RoutingRule>
    <Condition>
          <KeyPrefixEquals>?img.crop=</KeyPrefixEquals>
    </Condition>
    <Redirect>
      <Protocol>https</Protocol>
      <HostName>~*hidden*~</HostName>
      <ReplaceKeyPrefixWith>default/resizeLambdaFunction?params=</ReplaceKeyPrefixWith>
      <HttpRedirectCode>307</HttpRedirectCode>
    </Redirect>
  </RoutingRule>
</RoutingRules>

1 个答案:

答案 0 :(得分:1)

路由规则不支持评估查询参数。

<KeyPrefixEquals>仅计算对象关键字前缀,该对象关键字前缀仅包括对象关键字名称,并且不包括任何查询字符串。另外,这是一个“前缀”匹配项,因此按定义是左锚定的。

<ReplaceKeyPrefixWith>确实允许您在重写过程中在对象键之前插入查询字符串元素,但没有内置支持您尝试进行的匹配。