ZF2 主机名路由器:获取域和 tld 作为一个参数


ZF2 Hostname router : get domain and tld as one param

我有一条路线,像这样:

            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 作为单个路由器参数进行处理?

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

1) 扩展/创建新路由器以根据需要运行

2) 将此限制移出代码库。

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

我建议在较低级别(也许通过 apache/Web 服务器)而不是在您的代码中执行这种限制。如果你想把它放在代码中,这可能不是最好的地方。