قائمة المحتويات
Zend_Controller_RewriteRouter هو نوع جديد من الموجه "router" الخاص بإطار العمل. عملية التوجيه أو الـ routing هى أخذ URI و تقسيمه الى قطع اصغر لمعرفة أى controller و action تابع له سيتم تمرير الطلب إليهم . تعريف أسم الـ controller و الـ action و القيم الإختيارية يتم تجميعه و وضعه فى كائن قيم أو "value object" يسمى Zend_Controller_Dispatcher_Token و الذى سيتم معالجته لاحقا بواسطة Zend_Controller_Dispatcher. عملية التوجيه "routing" تحدث مرة واحدة : بمجرد إستلام الطلب و قبل تنفيذ اول controller.
تم تصميم Zend_Controller_RewriteRouter ليسمح بأداء مماثل لـ mod_rewrite بإستخدام هيكلة PHP فقط. و هو يعتمد على فكرة الـ routing المنفذة فى Ruby on Rails و هذا لا يستلزم أى معرفة مسبقة بالـ URL rewriting من خلال الـ webserver. لقد تم تصميمه ليعمل مع أمر mod_rewrite واحد (واحد من التاليين) :
RewriteEngine on RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
RewriteEngine on RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1