Могу ли я переформатировать мои URL-параметры с лаком

StackOverflow https://stackoverflow.com/questions/3547384

Вопрос

У меня относительно простой (я думаю) корпус, но я не могу найти никаких примеров, когда кто-то сделал это. Мы используем лак в качестве кеша и обратного прокси перед двумя различными приложениями и хотели бы сделать вещи немного более унифицированными на обоих, как они оба делают подобные вещи. Я надеялся, что лак может помочь переписать URL, как показано ниже.

Оригинальный URL-адрес приложения для пагинации (получить первые 10 предметов):

http://myapplication.com/products/?startindex=1&endindex=10

Желаемый URL:

http://myapplication.com/products/?paginate=1:10

Это всего лишь один пример (самый сложный, потому что он сочетает в себе два параметра), но во всех случаях входные значения для параметров остаются прежними, именно только то имя параметров изменится.

Другой пример будет:

http://myapplication.com/search/?query=something

к:

http://myapplication.com/search/?q=something

У кого-нибудь есть опыт работы с лаком и как это можно сделать?

Спасибо

Это было полезно?

Решение

Видимо вы можете. Ответ заключается в том, что Regsub твой друг.

Например:

if (req.url ~ "(.*)(id=)") {
        set req.url = regsub(req.url, "(feeds/[a-zA-Z]*/)(.*)([\?|&])(id=)([a-zA-Z0-9]*)(.*)", "\1\2\3byGuid=\5\6");
}

Это преобразует и входящий параметр «ID» в параметр «byguid» на бэкэнде. T также делает кучу вещей с остальной частью URL-строки, но на основании. Так что, если кто-то хочет сделать что-то подобное, это хорошая отправная точка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top