Как скопировать часть URL в путь перенаправления - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь перенаправить путь, например www.something.com/apple/pie на www.something.com/tickets/pie-details

Это то, что я пробовал, но не работает:

if (req.url ~ "^/apple/.*") {
    set req.url = "^/tickets/.*-details";
    error 701 req.url;
}

Я что-то упустил?

1 Ответ

0 голосов
/ 07 октября 2019

Вам нужно либо получить совпадения из регулярного выражения, либо, если это просто, просто заменить, используя regsub()

Однако я читал, что они больше не связаны с основным лаком, поэтому вам может понадобиться vmod,Похоже, это тот, который вам нужен: https://gitlab.com/uplex/varnish/libvmod-re

Вот несколько документов о том, как это можно использовать: https://docs.fastly.com/en/guides/vcl-regular-expression-cheat-sheet#capturing-matches

В основном объект re позволяет использовать совпавшийчасть, чтобы затем собрать новый URL, используя строковые операции.

Все вышесказанное является умозрительным, используя мои знания vcl и regex, но я лично не пробовал его.

...