Zend主机名路由调度定义的控制器/操作

时间:2012-06-04 14:37:27

标签: zend-framework dns routes

当请求某个域时,我想显示由定义的控制器/动作生成的页面。我尝试使用hostname route(在这种情况下请求www.some-page.de应该在IndexController中调度transportAction),如下所示:

$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
    'www.some-page.de',
    array(
        'controller' => 'index',
        'action'     => 'transport'
    )
);

$plainPathRoute = new Zend_Controller_Router_Route_Static('');

$router->addRoute('transport', $hostnameRoute->chain($plainPathRoute));

显然我做错了,因为它不起作用(而是调度了IndexController的indexAction)。任何提示或想法我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

我知道了 - 这很简单,我希望这也是一个好习惯:

在插件的routeShutdown挂钩中,我检查域名(使用$ _SERVER ['HTTP_HOST']),如果它是所需的域,我使用以下代码设置操作名称:

$request->setActionName('transport');