توجيه CakePhp، باستخدام بادئة اللغة باستخدام بادئة افتراضية
سؤال
أحاول إنشاء بادئة توجيه سيكون الافتراضي.
http: // localhost / heb / mycont سوف يغادر إلى الصفحة العبرية، في حين
http: // localhost / mycont سيؤدي إلى الصفحة الإنجليزية.
Router::connect('/:language/mycont',array('controller'=>'contname','action'=>'index'),array('language'=>'[a-z]{0,3}'));
يتيح لي هذا الرمز استخدام 0-3 أحرف للغة، لكنه لا يزال يتطلب لغة!
http: // localhost / a / mycont سوف تعمل
http: // localhost / mycont لا يعمل
أي أفكار كيفية إصلاح ذلك؟ هل هو ممكن مع التوجيه الافتراضي؟
المحلول 2
كان الحل الخاص بي هو إعداد / إلى لغة محددة، في حين أن كل شيء آخر يتم وضع علامة /: اللغة /
وبهذه الطريقة لم أحصل على طرق مكررة.
نصائح أخرى
اسمحوا لي أن مقدما هذا من خلال القول أنني لست خبير توجيه، ولكن في هذه الحالة، من المنطقي أن ما لم تنجح فيه لأن الطريق يتوقع معلمة لغة؛ لن يتطابق المسار إذا لم يكن هناك.
إلى "إصلاح" (نقلت نظرا لأنها غير مكسورة حقا)، قد ترغب في تجربة إعداد الإعداد الافتراضي الخاص بك، وفي AppController
, ، الكتابة فوق اذا :language
القيمة موجودة.