هل يمكنني إعادة تنسيق معلمات عنوان URL الخاص بي مع الورنيش

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

سؤال

لدي حالة استخدام بسيطة نسبيًا (على ما أظن) ، لكن لا يمكنني العثور على أي أمثلة حيث قام شخص ما بذلك. نحن نستخدم الورنيش كذاكرة التخزين المؤقت والوكيل العكسي أمام تطبيقين مختلفين ونود أن نجعل الأمور أكثر توحيدًا قليلاً عبر كلاهما كما يفعل كلاهما أشياء مماثلة. كنت آمل أن تساعد الورنيش في إعادة كتابة عناوين URL كما هو موضح أدناه.

عنوان URL للتطبيق الأصلي لترقيم الصفحات (احصل على العشرة الأوائل):

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

هل لدى أي شخص أي خبرة مع الورنيش وكيف يمكن القيام بذلك؟

شكرًا

هل كانت مفيدة؟

المحلول

على ما يبدو يمكنك. الجواب هو أن ريجسوب هو صديقك.

فمثلا:

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

سيؤدي ذلك إلى تحويل المعلمة "المعرف" الواردة إلى معلمة "byguid" على الواجهة الخلفية. تقوم T أيضًا بمجموعة من الأشياء مع بقية سلسلة عنوان URL ولكن الأساسيات موجودة. لذلك إذا أراد أي شخص أن يفعل شيئًا مشابهًا ، فهذه نقطة انطلاق جيدة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top