الموضوع الذي يحتوي على يابانية في الرابط لا يعيد التوجيه إذا لم يطابق الرابط تمامًا

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

لدينا إعداد موقع يُسمى slug_generation_method يجب تغييره من القيمة الافتراضية ascii إلى encoded لتفعيل هذا الخطأ. عند تغيير هذا الإعداد، نقوم بمسح جميع الروابط القصيرة (slugs) وإنشائها من جديد.

ما لا أفهمه هو سبب توليد رابط قصير بهذا الشكل عندما يكون إعداد الموقع مضبوطًا على “encoded”:

[3] pry(main)> SiteSetting.slug_generation_method
=> "encoded"
[4] pry(main)> Slug.for(t.slug)
=> "キノの旅-home-thread-intermediate-book-club"

بينما كنت أتوقع أن تعني “encoded” شيئًا مثل:

[5] pry(main)> CGI.escape(Slug.for(t.slug))
=> "%E3%82%AD%E3%83%8E%E3%81%AE%E6%97%85-home-thread-intermediate-book-club"

يبدو أن هذا الأمر يعود إلى:

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

9 إعجابات