أولاً، هذه حالة حافة محددة جداً لإعداداتي، مع مجلد /f الفرعي.
رابط Discourse الخاص بقائمة الهامبرغر يشير إلى /faq، دون المجلد الفرعي، لأن /faq يبدأ بـ /f.
بالنظر إلى هذا الاقتباس:
أعتقد أنه يمكننا تغيير
const found = url.startsWith(baseUri);
إلى شيء مثل
const found = url === baseUri || url.startsWith(`${baseUri}/`);
لذا سيتطابق مع /f و /f/ و /f/faq، لكنه لن يتطابق مع /faq، مما يؤدي إلى إضافة baseUri بشكل صحيح إلى الأخير.
على أي حال، المسار نفسه لا يعمل أيضاً، حيث يعيد /f/faq خطأ 404، لذا أعتقد أن هناك منطقاً مشابهاً على مستوى الموجه (router). لقد لاحظت سابقاً أن /f/following لا يعمل أيضاً (cc @merefield).
أخيراً، قمت بتغيير إعداد الموقع faq url إلى /f/guidelines كحل مؤقت، مما أصلح الرابط وخطأ 404، لكنه أدى إلى غرابة طفيفة تتمثل في وجود مصطلحي “الإرشادات” و “الأسئلة الشائعة” معاً في شريط التنقل، وكلاهما يشير إلى ما تم تعيينه في faq url (يمكنك التحقق من ذلك في الصفحة الفعلية):
بخصوص خطأ 404 على /f/faq و /f/favicon/proxied، عند استخدام CURL لهذه المسارات داخل الحاوية متجاوزًا Nginx، تعمل بشكل صحيح. تمكنت من إصلاحها بتغيير توجيه location الموصوف في Serve Discourse from a subfolder (path prefix) instead of a subdomain من location /subfolder إلى location /subfolder/.
إظهار شريط التنقل لكل من “الإرشادات” و “الأسئلة الشائعة” هو السلوك المتوقع، ومن غير المرجح أن يقوم المستخدم بتجاوز عنوان URL للأسئلة الشائعة بنفس عنوان URL.