Frage

habe ich eine relativ einfache (glaube ich) Use-Case, aber ich kann keine Beispiele nicht finden, wo jemand dies getan hat. Wir sind mit Lack als Cache und Reverse-Proxy vor zwei verschiedenen Anwendungen und möchten die Dinge machen, ein bisschen mehr über beide vereinigt, da sie beide ähnliche Dinge tun. Ich hatte gehofft, Varnish helfen könnte, die URLs umzuschreiben, wie unten gezeigt.

Original Anwendungs-URL für Paginierung (get ersten 10 Titel):

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

Gewünschte URL:

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

Dies ist nur ein Beispiel (das komplexeste, weil es zwei Parameter kombiniert), aber in allen Fällen die Eingangswerte für die Parameter gleich bleiben, es ist nur, dass die Parameternamen ändern werden.

Ein weiteres Beispiel wäre:

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

zu:

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

Hat jemand Erfahrung mit Lack und wie dies geschehen könnte?

Danke

War es hilfreich?

Lösung

Anscheinend können Sie. Die Antwort ist, dass regsub ist dein Freund.

Zum Beispiel:

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

Dies wird konvertieren und eingehende Parameter „ID“ in einen „byGuid“ Parameter auf dem Backend. t hat auch ein paar Sachen mit dem Rest der URL-Zeichenfolge aber die Grundlagen sind da. Also, wenn jemand will, Ausgangspunkt etwas ähnliches ist dies ein guter tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top