我想使用Zend Route来处理URI,例如http:/US.video.yahoo.com以及http://video.yahoo.com使用相同的路由。对于第二个命题,我希望系统告诉我,在第一个命名为“US”的国家现在为NULL。
但是我没有到达Zend Route Hostname做正则表达式的东西。
我怎么能这样做?
答案 0 :(得分:0)
要在主机名上实现路由,您需要Zend_Controller_Router_Route_Hostname
$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
':country.:controller.yahoo.com',
array( 'action' => 'index' )
);
要将您的主机名路由组合到其他路由,您需要Zend_Controller_Router_Route_Chain
$staticRoute = new Zend_Controller_Router_Route_Static('');
$router->addRoute('default', $hostnameRoute->chain($staticRoute));
查看Zend框架手册,您可以使用一些很好的示例。