Возможно ли иметь регулярное выражение в строке замены правила перезаписи в nginx

Мне нужно совершенно специальное правило перезаписи, но я не могу найти способ сделать это.

Мне нужно сопоставить uri с регулярным выражением с замещающей строкой, созданной с помощью регулярного выражения.

Например, у меня есть /pdv/plan-AGE44-ABC.pdf uri, которые могут быть сопоставлены со следующими:

  • /files/AGE44/plan-ABC.pdf
  • /files/AGE44/plan-ABC(version-1).pdf
  • /files/AGE44/plan-ABC(version-2).pdf
  • /files/AGE44/plan-ABC(version-3).pdf

Итак (version-1) часть строки замены является необязательной, поэтому я подумал об использовании здесь регулярного выражения.

Пример моего правила:

location /pdv/ {
    rewrite ^/pdv/plan-(.*)-(.*).pdf$ "/files/$1/plan-$2.pdf" last;
    return 404;
}

Это поддерживает первый случай (/files/AGE44/plan-ABC.pdf), но я не могу найти способ поддержать другие.

Любая идея, как я мог это сделать?

nginx ngx-http-переписать-модуль

0

Добавить комментарий

Ваш адрес email не будет опубликован.