إعادة توجيه عناوين المنتديات القديمة إلى عناوين Discourse الجديدة باستخدام الروابط الدائمة
إذا انتقلت من برامج منتديات أخرى إلى Discourse باستخدام أحد نصوص الاستيراد الخاصة بنا، فمن المحتمل أنك تريد أن تستمر جميع نتائج بحث Google التي اكتسبتها بشق الأنفس في الإشارة إلى نفس المحتوى. يحتوي Discourse على طريقة مدمجة للتعامل مع هذا الأمر كبديل لكتابة قواعد nginx، باستخدام جدول البحث عن الروابط الدائمة.
يسمح لك جدول الروابط الدائمة بتعيين شيئين: عنوان URL للمطابقة، وما يجب أن يعرضه عنوان URL هذا. هناك بعض الخيارات لتحديد مكان إعادة توجيه عنوان URL. قم بتعيين أحد هذه الخيارات:
topic_id: لعرض موضوع
post_id: لعرض منشور معين داخل موضوع
category_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 الصحيح لمعرف الموضوع 12345. يجب أن يتسبب الرمز 301 في قيام محركات البحث بتحديث سجلاتها والبدء في استخدام عناوين URL الجديدة.
إذا كنت تريد إعادة توجيه بعض عناوين URL بعيدًا عن Discourse، فيمكنك القيام بذلك عن طريق تعيين external_url: