5.6. الـ URL الأساسى و المجلدات الفرعية
السابق | فصل 5. Zend_Controller_RewriteRouter | التالي

## 5.6. الـ URL الأساسى و المجلدات الفرعية

على عكس الـ router السابق, RewriteRouter يمكن إستخدامه فى المجلدات الفرعية, حيث سيقوم تلقائياً بمعرفة الـ URL ألأساسى الذى سيتم إستخدامه. على سبيل المثال , إن كنت تضع ملف index.php خاصتك فى مجلد فرعى على webserver بهذا المسار `projects/myapp/index.php/`, سيتم وضع قيمة الـ URL الأساسى ليكون `projects/myapp/`, هذا المسار سيتم تجاهله لاحقاً من بداية المسار عند حدوث عملية مقارنة بالـ route , و هذا يريحك من عملية إضافة هذا المسار إلى الـ routes خاصتك, فإذا كان لديك route مثل `'user/:username'` , فسيتوافق مع URLs مثل `http://localhost/projects/myapp/user/martel` و `http://example.com/user/martel`.

| ملاحظة
عملية توقع قيمة الـ URL الأساسى تعتبر حساسة لحالة الحروف, لذلك تأكد من أن الـ URL سيتطابق مع أسم مجلد فرعى لديك (حتى على أنظمة windows). إذا لم تتطابق سيستدعى الـ action المسمى noRoute.

إن لم يتم توقع الـ URL الأساسى بشكل صحيح , فيمكنك وضع القيمة الصحيحة التى تراها بإستخدام الـ method المسمى setRewriteBase فى RewriteRouter :

    $router->setRewriteBase('/projects/myapp');

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

السابق | أعلى | التالي
5.5. متطلبات المتغيرات | البداية | 5.7. الـ routes الأساسية