I'm experiencing something really strange with the routing of my app, which is an API. I am not using micro, just using the regular Phalcon stack.

Here's my router definition:

```
$di->set('router', function () {
    $router = new Router(false);

    $router->setDefaultAction('index');
    $router->setDefaultController('index');

    $router->add('/:module/:controller/:params', array(
        'module' => 1,
        'controller' => 2,
        'params' => 3
    ));

    $router->removeExtraSlashes(true);

    return $router;
});

```

The router works with these example paths:

* /v1/users/
* /v1/users/1/
* /v1/users/1/permissions/

But for some reason the following doesn't match to any route!

* /v1/

Oddly enough, I was playing around with the route definitions, and, when I change the first param of add to just '/:module' (instead of '/:module/:controller/:params'), the router works as expected!

I am at my wits end, and was hoping someone could help me out. I have no clue what I am doing wrong. Not sure why one route definition would work, while the other would fail. Am I missing something?

Notes:

* I do not have setDefaultModule because I want the app to throw an error when the module is missing. I plan on versioning the app, and I figured this way I could properly handle missing modules. I couldn't really find any better answers as to how to handle that properly, so I'm doing what I can.
* I am using the full Phalcon app, instead of the micro, as I want access to the whole framework. Just an architectural decision.