我使用主機名路由來捕獲子域並將其用作類別。然後,我爲控制器,操作和鍵/值對鏈接一個路由器路由。Zend框架中的關鍵值路由路由
$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
':customer.ddc.:domain',
array(
'customer' => ':customer'
)
);
$routerRoute = new Zend_Controller_Router_Route(
':controller/:action/*',
array(
'controller' => 'index',
'action' => 'index'
)
);
$chainedRoute = $hostnameRoute->chain($routerRoute);
$frontController->getRouter()->addRoute('default',$chainedRoute);
我可以捕獲除URI上的鍵/值對之外的所有內容。添加它們會導致請求中的Params對象無法填充。
這工作:http://category.mydomain.com/controller/action/
這不:http://category.mydomain.com/controller/action/username/frank
感謝您的任何建議。
謝謝你的迴應。刪除*沒有幫助。 12.5.7。路由類型討論添加*來匹配URI中的尾隨鍵/值對。但是,它似乎只能捕獲一個密鑰。任何嘗試添加更多,以及請求對象中的參數都不會被填充。 – BillA 2010-01-18 16:21:27
這是一個奇怪的出價。現在'http:// category.mydomain.com/controller/action/username/frank'將你重定向到哪個'controller','action'等等? – hsz 2010-01-18 16:32:31
它不會在任何地方重定向。路線的映射完全消失了。我認爲我已經將它作爲ZF的一個bug進行搜索: http://framework.zend.com/issues/browse/ZF-6654 – BillA 2010-01-18 16:40:22