أحتاج مساعدة في إعادة التوجيه بعد تغيير نطاق Discourse Forum الخاص بي

بعد نقل منتدى Discourse الخاص بي إلى مثيل وعنوان URL جديدين، أحتاج إلى المساعدة في إعداد إعادة توجيه النطاق.

أريد أن تتم إعادة توجيه الروابط من النطاق القديم إلى النطاق الجديد. على سبيل المثال، رابط مثل https://olddomain.com/t/topic/89520 يجب أن يعاد توجيهه إلى https://newdomain.com/t/topic/89520.

لقد سمعت عن استخدام إعادة توجيه 301، لكنني أواجه صعوبة في تحديد موقع دليل تكوين Nginx على الخادم الخاص بي. أي حلول بديلة أو إرشادات ستكون موضع تقدير كبير.

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

مرحباً @Anirudh_Dutta_Gupta :wave: مرحبًا بك في Meta :slight_smile:

هل رأيت هذا الموضوع بعد:

شكراً لك @Lilly. أود أن أعرف ما إذا كانت الروابط الدائمة يمكنها التعامل مع تغيير كامل للنطاق أيضًا. للتوضيح فقط، نحن ننتقل من abc.domain1.com إلى xyz.domain2.com. يتغير كل من النطاق الفرعي والنطاق. لقد كنت أقرأ هذا النقاش وأردت التأكيد:

هل تحاول إعادة توجيه موضوع Discourse موجود إلى عنوان URL خارجي؟ هذا ليس ما تم تصميم الروابط الدائمة للقيام به. أنا متأكد من أنك لا تستطيع إعادة توجيه أي شيء تحت /t.
إذا كنت تريد أن يتم إعادة توجيه الأشخاص الذين يزورون https://hoidap.cheng.vn/t/cach-cua-do-nu-bao-binh-don-gian/70 2 إلى https://cunghoangdao.info، فأعتقد أن أفضل ما يمكنك فعله هو تعديل المنشور وإخبار الأشخاص بالنقر فوق الرابط للانتقال إلى الموقع الآخر.

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

إذًا، لقد قمت بإعداد:

  • إعادة توجيه عامة من abc.domain1.com/anything إلى xyz.domain2.com/anything
  • إعادة توجيه الروابط الدائمة من xyz.domain2.com/foo/bar إلى /t/1234
3 إعجابات

شكرا لك @RGJ. كيف يمكنني المتابعة مع إعادة التوجيه العام؟ كلا المنتديين الحالي والسابق على Discourse.

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

بافتراض أنك ستقوم بإزالة المنتدى الحالي، فهذا مجرد إعادة توجيه Apache أو nginx عادية.

لـ nginx

server {
    server_name original.example.com;
    location / {
        rewrite ^/(.*)$ https://new.example.com/$1 permanent;
    }
}

أو Apache

RewriteEngine On
RewriteRule ^(.*)$ https://new.example.com/$1 [R=301,L]

لقد فاتني الجزء الذي تقوم فيه فقط بنقل Discourse وليس ترحيله. بما أنك تقوم فقط بنقل النطاقات، فلن تحتاج إلى إعادة توجيه الروابط الدائمة.

إعجابَين (2)

هذا ما كنت أفكر فيه في الأصل، لكنني لا أستطيع العثور على مجلد nginx في أي مكان في الدليل /etc. هل أبحث في المكان الخطأ؟

هذا لأن هناك حاليًا تثبيت Discourse هناك، والذي يحتوي على nginx في الحاوية.

سيكون من الأسهل توجيه اسم المضيف القديم إلى المثيل الجديد والتعامل مع إعادة التوجيه هناك، راجع URL rewrite for domain change in permalinks - #7 by modius

بدلاً من ذلك، قم بإزالة تثبيت Discourse وإعداد nginx على المثيل القديم.

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

شكراً @RGJ على التوجيه. لقد قمت للتو بإعداد نطاق مباشر من مزود اسم النطاق الخاص بنا، وقد نجح ذلك. الروابط القديمة تعيد التوجيه إلى الروابط الجديدة بشكل صحيح.

4 إعجابات

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

في ملف app.yml، في النهاية أضيف الكتل after_web_config و after_ssl:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

  after_web_config:
    - replace:
        filename: /etc/nginx/nginx.conf
        from: /sendfile.+on;/
        to: |
          server_names_hash_bucket_size 64;
          sendfile on;
    - file:
        path: /etc/nginx/conf.d/discourse_redirect_1.conf
        contents: |
          server {
            listen 80;
            listen 443 ssl;
            server_name old-domain.com;
            return 301 $scheme://new-domain.com$request_uri;
          }
  after_ssl:
    - replace:
        filename: "/etc/runit/1.d/letsencrypt"
        from: /--keylength/
        to: " -d old-domain.com --keylength"

## أي أوامر مخصصة لتشغيلها بعد البناء
run:
  - exec: echo "Beginning of custom commands"
  ## إذا كنت ترغب في تعيين عنوان البريد الإلكتروني 'من' لتسجيلك الأول، قم بإلغاء التعليق وتغييره:
  ## بعد الحصول على البريد الإلكتروني الأول للتسجيل، أعد التعليق على السطر. يحتاج فقط إلى التشغيل مرة واحدة.
  ##- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "End of custom commands"

سيؤدي هذا إلى إعادة توجيه الروابط القديمة إلى المنتديات الجديدة، دون مشكلة SSL.

4 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.