إعادة توجيه عناوين URL القديمة للمنتدى إلى عناوين URL الجديدة لـ Discourse باستخدام الروابط الثابتة

إعادة توجيه عناوين URL القديمة للمنتديات إلى عناوين URL الجديدة لـ Discourse باستخدام الروابط الدائمة

إذا انتقلت من برامج منتديات أخرى إلى Discourse باستخدام أحد نصوص الاستيراد البرمجية الخاصة بنا، فمن المحتمل أنك تريد أن تستمر جميع نتائج بحث Google التي اكتسبتها في الإشارة إلى نفس المحتوى. يحتوي Discourse على طريقة مدمجة للتعامل مع هذا الأمر كبديل لكتابة قواعد nginx، وذلك باستخدام جدول بحث الروابط الدائمة (permalinks lookup table).

يسمح لك جدول الروابط الدائمة بتحديد أمرين: عنوان URL للمطابقة، وما الذي يجب أن يعرضه عنوان URL هذا. هناك بعض الخيارات لتحديد أين يجب إعادة توجيه عنوان URL. قم بتعيين أحد الخيارات التالية:

  • topic_id: لعرض موضوع
  • post_id: لعرض مشاركة محددة داخل موضوع
  • category_id: لعرض فئة
  • tag_id: لعرض وسم
  • user_id: لعرض ملف تعريف مستخدم
  • external_url: لإعادة التوجيه إلى عنوان URL قد لا ينتمي إلى مثيل Discourse الخاص بك

على سبيل المثال، إذا كانت عناوين URL لمواضيع المنتدى الأصلي لديك تبدو كـ http://example.com/discussion/12345، وكان عنوان URL الخاص بهذا الموضوع بعد الاستيراد هو http://example.com/t/we-moved/987، فيمكنك إعداد التعيين كما يلي:

cd /var/discourse
./launcher enter app
rails c
Permalink.create(url: '/discussion/12345', topic_id: 987)

سيقوم Discourse بعد ذلك بإجراء إعادة توجيه باستخدام رمز حالة الاستجابة http 301 (نُقل بشكل دائم) إلى عنوان URL الصحيح لـ topic ID 12345. يجب أن يتسبب الرمز 301 في قيام محركات البحث بتحديث سجلاتها والبدء في استخدام عناوين URL الجديدة.

إذا كنت تريد إعادة توجيه بعض عناوين URL بعيدًا عن Discourse، يمكنك القيام بذلك عن طريق تعيين external_url:

Permalink.create(url: '/discussion/12345', external_url: 'http://archived.example.com/discussion/12345')

معلومات إضافية

للعثور على مُعرّف (id) الفئة الفرعية، يمكنك البحث عنه باستخدام الـ “slug” كما يلي:

Category.find_by_slug('products').id

لحذف الرابط الدائم لعنوان URL هذا، قم بما يلي:

Permalink.find_by_url("/blah").destroy

يجب أن يكون هناك سجل رابط دائم واحد فقط لكل عنوان URL، لذا ابحث فقط بواسطة عنوان URL.

إنشاء خريطة مواضيع من MyBB إلى Discourse

أسئلة إعادة التوجيه من Discourse إلى WordPress

تسوية الرابط الدائم (Permalink Normalization)


آخر مراجعة بواسطة @SaraDev في 2022-06-03T20:00:00Z

37 إعجابًا