2015-05-25 2 views
0

я пытаюсь сделать мой маршрутизатор работает так, что:Zend2 - ZF2 - Routing Выпуск

/Auth redirects to Auth controller of Auth MOdule 
/Auth/Login redirects to Login controller of Auth Module 

Хотя первые работы впору в/Auth/Вход приводит к маршрутизации проблемы.

Мой файл конфигурации маршрутизатора выглядит следующим образом:

 'router' => array(
    'routes' => array(
     'Auth' => array(

      'type' => 'literal', 
      'options' => array(
       'route' => '/Auth', 
       'defaults' => array(
        'controller' => 'Auth\Controller\Auth', 
        'action'  => 'index', 
        ), 
       ), 
       'may_terminate' => true, 
       'child_routes' => array(
        'Auth/Login' => array(
         'type' => 'literal', 
         'options' => array(
          'route' => '/Login', 
          'defaults' => array(
           'controller' => 'Auth\Controller\Login', 
           'action' => 'index') 
        ), 
       ), 
      ), 
     ), 
    ), 
), 
+3

Код выглядит нормально, хотя вы, вероятно, не хотите '/' в имени маршрута входа (просто называете его 'Login', а не' Auth/Login'). Какая ошибка маршрутизации вы получаете? –

ответ

0

редактировать этот раздел

'child_routes' => array(
     'Auth_Login' => array(
      // ... your existing codes 

Просто удалите / из Auth/Login и использовать дефис - или _ вместо этого.

0

Ответ заключается в @TimFountain его комментарий. Поскольку вы назвали дочерний маршрут Auth/Login, вам нужно будет запросить Auth/Auth/Login, чтобы получить соответствие.

Как только вы переименуете детский маршрут в Login, вы получите соответствие по маршруту на Auth/Login.