次の(そして一意の)ルーティングルールがあります:
Router::connect(
    '/*',
    array(
        'controller' => 'dispatch',
        'action' => 'index'
    )
);
動的ルーティングのように、解析に応答するすべてのリクエストを送信し、リクエストをDispatchController::index()「再ルーティング」します。にアクセス/sample-page/debugしてデバッグする$this->requestと、次のような出力が表示されます。
object(CakeRequest) {
    params => array(
        'plugin' => null,
        'controller' => 'dispatch',
        'action' => 'index',
        'named' => array(),
        'pass' => array(
            (int) 0 => 'sample-page',
            (int) 1 => 'edit'
        )
    )
    [...]
}
リクエストから正しい値を受け取りたい:
object(CakeRequest) {
    params => array(
        'plugin' => null,
        'controller' => 'sample-page',
        'action' => 'edit',
        'named' => array(),
        'pass' => array()
    )
    [...]
}
私は成功せずに試しました:
Router::connect(
    '/:controller/:action/*',
    array(
        'controller' => 'dispatch',
        'action' => 'index'
    )
);