Условие правила маршрутизации с использованием параметра запроса не работает - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь перенаправить, только когда в параметре запроса есть ?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 голосов
/ 05 февраля 2019

Правила маршрутизации не поддерживают оценку параметров запроса.

<KeyPrefixEquals> оценивает только префикс ключа объекта, который включает только имя ключа объекта и исключает любую строку запроса.Кроме того, это «префиксное» совпадение, поэтому оно по определению привязано слева.

<ReplaceKeyPrefixWith> позволяет вставлять элементы строки запроса перед ключом объекта во время перезаписи, но встроенныхв поддержку соответствия вы пытаетесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...