0

我有一条路线,例如:

            array(
            'type'    => 'Hostname',
            'options' => array(
                'route'    => ':subdomain.:domain.:tld',
                'defaults' => array(
                    '__NAMESPACE__' => 'Application\Controller',
                    'controller'    => 'Index',
                    'action'        => 'index',
                ),
            )

我想做的是将 domain.tld 作为一个参数,因为我想将域限制为一个列表,例如“application1.com”、“example.org”等。

我试过了

        array(
            'type'    => 'Hostname',
            'options' => array(
                'route'    => ':subdomain.:domain',
                'defaults' => array(
                    '__NAMESPACE__' => 'Application\Controller',
                    'controller'    => 'Index',
                    'action'        => 'index',
            ),

是否可以将域和 tld 作为单个路由器参数处理?

4

1 回答 1

2

我不认为你可以用那个特定的路由器做到这一点,但你可以:

1)扩展/创建一个新的路由器来做你想做的事

2) 将此限制移到代码库之外。

3) 使用事件检查引导/调度上的域并采取适当的措施

我建议在较低级别(可能通过 apache/web 服务器)而不是在您的代码中执行这种限制。如果您想将它放在代码中,这可能不是放置它的最佳位置。

于 2013-02-11T13:23:36.807 回答