我有一条路线,比如:
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作为单个路由器参数处理?
答案 0 :(得分:2)
我认为你不能用那个特定的路由器做到这一点,但你可以:
1)扩展/创建一个新路由器以按您的需要行事
2)将此限制移到代码库之外。
3)使用事件在bootstrap / dispatch上检查域并采取适当的措施
我建议在较低级别(通过apache / web服务器)而不是代码中执行此类限制。 如果你想把它放在代码中,这可能不是最好的地方。