我有一条路线,像这样:
array(
'type' => 'Hostname',
'options' => array(
'route' => ':subdomain.:domain.:tld',
'defaults' => array(
'__NAMESPACE__' => 'ApplicationController',
'controller' => 'Index',
'action' => 'index',
),
)
我想做的是将domain.tld作为一个参数,因为我想将域限制为一个列表,例如"application1.com","example.org"等。
我试过了
array(
'type' => 'Hostname',
'options' => array(
'route' => ':subdomain.:domain',
'defaults' => array(
'__NAMESPACE__' => 'ApplicationController',
'controller' => 'Index',
'action' => 'index',
),
是否可以将域和 tld 作为单个路由器参数进行处理?
我认为你不能用那个特定的路由器做到这一点,但你可以:
1) 扩展/创建新路由器以根据需要运行
2) 将此限制移出代码库。
3) 使用事件检查引导/调度上的域并采取适当的操作
我建议在较低级别(也许通过 apache/Web 服务器)而不是在您的代码中执行这种限制。如果你想把它放在代码中,这可能不是最好的地方。