Zend Route与子域名雅虎一样

时间:2010-01-06 08:37:22

标签: zend-framework router hostname

我想使用Zend Route来处理URI,例如http:/US.video.yahoo.com以及http://video.yahoo.com使用相同的路由。对于第二个命题,我希望系统告诉我,在第一个命名为“US”的国家现在为NULL。

但是我没有到达Zend Route Hostname做正则表达式的东西。

我怎么能这样做?

1 个答案:

答案 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框架手册,您可以使用一些很好的示例。