phpzend-frameworkrouteszend-framework2zend-framework-routing

Zend Framework 2 Segment Route matching 'test' but not 'test/'


I have two modules Admin and Application. In the module application I have the following route in my module.config.php:

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

The problem is that it is matching

example.com/admin

and is not matching

example.com/admin/

How do I fix that?


Solution

  • Insert [/] to fix it. try:

    'route' => '/admin[/:controller[/:action]][/]',