2
我需要我的路由器配置为工作子域ZF2路由器的配置如下:与子路由
www.bmob.co.uk -> DtCompanyData\Controller\CompanyMap
wage.bmob.co.uk -> DtWage\Controller\Wage
wage.bmob.co.uk/brighton -> DtWage\Controller\WageBrighton
阅读文档和这里的许多类似的问题后,我能得到的路由工作,要么为子域,或者对于小孩路线,但不能同时进行。
当我有
// In Application/config/module.config.php:
'home' => array(
'type' => 'hostname',
'options' => array(
'route' => 'www.bmob.co.uk',
'defaults' => array(
'__NAMESPACE__' => 'DtCompanyData\Controller',
'controller' => 'DtCompanyData\Controller\CompanyMap',
'action' => 'index',
),
),
),
// In DtWage/config/module.config.php:
'wage' => array(
'type' => 'hostname',
'options' => array(
'route' => 'wage.bmob.co.uk',
'defaults' => array(
'__NAMESPACE__' => 'DtWage\Controller',
'controller' => 'DtWage\Controller\Wage',
'action' => 'index',
),
),
'may_terminate' => true,
),
我得到:
www.bmob.co.uk - works
wage.bmob.co.uk - works
wage.bmob.co.uk/brighton - goes to same page as wage.bmob.co.uk
当我有:
// In Application/config/module.config.php:
'home' => array(
'type' => 'hostname',
'options' => array(
'route' => 'www.bmob.co.uk',
'defaults' => array(
'__NAMESPACE__' => 'DtCompanyData\Controller',
'controller' => 'DtCompanyData\Controller\CompanyMap',
'action' => 'index',
),
),
),
// In DtWage/config/module.config.php:
'wage' => array(
'type' => 'hostname',
'options' => array(
'route' => 'wage.bmob.co.uk',
'defaults' => array(
'__NAMESPACE__' => 'DtWage\Controller',
'controller' => 'DtWage\Controller\Wage',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'wagebrighton' => array(
'type' => 'literal',
'options' => array(
'route' => '/brighton',
'defaults' => array(
'__NAMESPACE__' => 'DtWage\Controller', // Have also tried without this line, same result
'controller' => 'DtWage\Controller\WageBrighton',
'action' => 'index',
),
),
),
),
),
我得到:
www.bmob.co.uk - works
wage.bmob.co.uk - 404 The requested URL could not be matched by routing.
wage.bmob.co.uk/brighton - works
我在这里做错了什么?如何让wage.bmob.co.uk和wage.bmob.co.uk/brighton同时工作?谢谢。
第一个给我的错误,但第二个是接近。我明白你的孩子的路线。第二个为我提供了“wage.bmob.co.uk”的正确页面,但是对于'wage.bmob.co.uk/brighton',我得到了另一个404请求的URL无法通过路由匹配。 – ellcub
是的!很高兴它终于在工作,谢谢! – ellcub