1

呼び出してルートを組み立てようとするとき

return $this->redirect()->toRoute('application');

私のコントローラーでは、次の例外が発生します。

Zend\Mvc\Router\Exception\RuntimeException
File: library\Zend\Mvc\Router\Http\Part.php:181
Message: Part route may not terminate

ルートは次のように構成されます。

    'routes' => array(
        'application' => array(
            'type' => 'Segment',
            'options' => array(
                'route' => '/[:controller[/[:action[/]]]]',
                'constraints' => array(
                    'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
                    'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                ),
                'defaults' => array(
                    '__NAMESPACE__' => 'Application\Controller',
                    'controller' => 'Index',
                    'action' => 'index',
                ),
            ),
            'child_routes' => array(
                'wildcard' => array(
                    'type' => 'Wildcard',
                ),
            ), 
        ),
    ),

controller/actionルートからの子ルートとしてルートを持っている必要があり/ますか?それが機能するように構成すると。ルート[/[:controller[/[:action[/]]]]]を(オプションの先頭のスラッシュを使用して)使用すると、一部のアセンブリでは機能しますが、すべてでは機能しません。これらはすべて、上記と同じ方法で、部分的に他のモジュールから呼び出されます。

4

1 に答える 1

3

may_terminateエラーはすでに問題を示しています:現在のルートにオプションがありません。したがって、プラグインの戻り値short-circuitを返すことによってそれを行うことはできません。redirect()

追加するだけです

'may_terminate' => true

ルートの構成に(おそらくすべてのルート構成に)。

于 2012-08-22T07:54:20.497 に答える