そのために特別なことは何も必要ありません。ZF2 はカスタム ルートを処理するために完全に装備されています。Akrabatによる ZF2 チュートリアルは、それをすべてよく示しています。構成で次のようなことを行うことになります。
'Zend\Mvc\Router\RouteStack' => array(
'parameters' => array(
'routes' => array(
'default' => array(
'type' => 'Zend\Mvc\Router\Http\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(
'controller' => 'Application\Controller\IndexController',
'action' => 'index',
),
),
),
'about' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/',
'defaults' => array(
'controller' => 'Application\Controller\IndexController',
'action' => 'about',
),
),
),
)
)
)
もちろん、ActionController を拡張するか、Controller Plugin を作成することで、これらを自動化することもできます。