具有多个zend模块的虚拟主机

时间:2016-07-02 02:22:51

标签: routing zend-framework2 virtualhost

我已经安装了zend骨架应用程序,它工作正常,直到我添加多个模块。问题出在我设置的虚拟主机上。方案如下:

我有两个网站:cms.localhostsite.localhost。 这两个虚拟主机都指向同一个公共文件夹,但是我希望每个虚拟主机都使用它们各自的模块。是否有虚拟主机指令可用于告诉cms.localhost使用Cms模块和site.localhost使用我在zend项目中设置的Site模块?< / p>

1 个答案:

答案 0 :(得分:0)

您可以使用主机名路由类型来实现此目的。你可以在上面阅读here in the documentation。以下是您开始使用案例的示例:

'router' => array(
    'routes' => array(
        'cms' => array(
            'type' => 'hostname',
            'options' => array(
                'route' => 'cms.localhost',
                'defaults' => array(
                   '__NAMESPACE__' => 'Cms\Controller',
                   'controller' => 'Index',
                   'action' => 'index',
                )
            ),
            'may_terminate' => true,
            'child_routes' => array(
                // your cms child routes
            )
        ),
        'site' => array(
            'type' => 'hostname',
            'options' => array(
                'route' => 'site.localhost',
                'defaults' => array(
                   '__NAMESPACE__' => 'Site\Controller',
                   'controller' => 'Index',
                   'action' => 'index',
                )
            ),
            'may_terminate' => true,
            'child_routes' => array(
                // your site child routes
            )
        )
    )
),

在此示例中,我使用'__NAMESPACE__'选项为各自的主机名设置默认命名空间。