質問

私は比較的単純な(私は思う)ユースケースを持っていますが、誰かがこれをやった例を見つけることができません。 2つの異なるアプリケーションの前でキャッシュと逆プロキシとしてワニスを使用しており、両方とも同様のことをしているため、物事をもう少し統合したいと考えています。以下に示すように、ワニスがURLを書き直すのに役立つことを望んでいました。

ページネーション用の元のアプリケーションURL(最初の10項目を取得):

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

望ましいURL:

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

これは1つの例です(2つのパラメーターを組み合わせているため最も複雑です)が、すべての場合において、パラメーターの入力値は同じままで、パラメーター名が変更されるだけです。

別の例は次のとおりです。

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