نطاقان، إعادة توجيه شرطي

أيها الخبراء في Discourse،

نحن ندير منتدى Discourse (DOMAIN1) منذ 3 سنوات. والآن نرغب في توسيع نطاق النقاش وإضافة DOMAIN2. وقد نجحنا في تفعيل كلا النطاقين باستخدام letsencrypt بفضل هذا المنشور. سنحتفظ بكلا النطاقين نشطين، وهو ما نجح بعد الخطوة 1 في هذا المنشور. أما النطاق الثاني فيتم إعادة توجيهه إلى اسم النطاق الرئيسي، وهو أمر جيد.

جزء من عملية الانتقال هو نقل جميع الفئات الموجودة إلى فئة رئيسية جديدة.

سيصبح DOMAIN2 هو نطاق Discourse الرئيسي، بينما سيظل DOMAIN1 مرتبطًا بحيث تظل الروابط الخارجية إلى المنشورات تعمل.

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

نأمل أن يكون لدى أحدكم اقتراحات حول كيفية إضافة هذا التحويل الشرطي مع إعداد النطاق المزدوج لدينا.

شكرًا لكم!
Merten

إعجاب واحد (1)

ستواجه صعوبة: لا يمكن لنسخة واحدة من Discourse أن تعمل في عناوين URL متعددة؛ كما أن إعادة توجيه الروابط الدائمة لا تعمل للمسارات الموجودة مثل عرض الموضوع.

4 إعجابات

هل تقصد إذن أنه لا توجد طريقة بسيطة للقيام بالتالي؟

(1) الدخول إلى domain1.com ويعمل discourse (مع اسم المضيف الرئيسي domain1.com - يعمل)
(2) الدخول إلى domain2.com فينتقل إلى domain1.com/c/example/18 (وهو ما نريده أيضًا)
(3) الدخول إلى domain2.com/t/topic/1 فيعرض إما domain1.com/t/topic/1 أو domain2.com/t/topic/1 (يعمل حاليًا)

نحن في مرحلة انتقالية ونريد فقط أن يعيد جذر domain2.com التوجيه إلى فئة معينة. هل هناك نوع من إعادة كتابة عناوين URL يمكنه فعل ذلك؟

إعجاب واحد (1)

إذا كان النطاق الثاني يخدم فقط قواعد إعادة التوجيه، فإن نعم، يمكنك كتابة تكوين nginx للقيام بذلك؛ ولكن تفاصيل ذلك خارج نطاق عمل Meta.

إعجابَين (2)

ألا يمكن لـ إضافة خريطة الموقع أن تخدم كمصدر للبيانات الخام لـ إعادة التوجيه 302 الخاصة بـ nginx؟

إعجاب واحد (1)

تمكنا من جعله يعمل بإضافة ما يلي إلى ملف web.ssl.template.yml:

if ($host = domain2.com) {
    rewrite ^/$ /c/example/18 permanent;
}
إعجابَين (2)

يرجى نقل ذلك إلى أمر replace في ملف app.yml بدلاً من ذلك، وإلا فإن الترقيات المستقبلية ستكون مؤلمة لك!

3 إعجابات

حسنًا، شكرًا لك!!!

إعجاب واحد (1)