おそらく、注釈を介してコントローラーを定義する方が簡単です。
route.ymlで:
MineTestBundle:
    resource: "@MineTestBundle/Controller/"
    type:     annotation
次に、コントローラーでルートを直接定義できます。
/**
 * @Route("/foo")
 */
class FooController extends Controller {
    /**
     * @Route("/", name="_foo_index")
     * @Template()
     */
    public function indexAction() {
        return array();
    }
    /**
     * @Route("/{page}/", name="_foo_page")
     * @Template()
     */
    public function pageAction($page) {
        return array('page' => $page);
    }
}
アクセスしようとするとindexAction/fooにアクセスし、アクセスするとpageActionにアクセスし/foo/1/ます。
編集:
誤解して申し訳ありません。私はあなたの問題を再現しようとしました。最も簡単な方法は、次のように設定で 2 つのルートを定義することです。
foo_route:
    pattern:  /foo/{page}/
    defaults: { _controller: AcmeDemoBundle:Foo:list }
    requirements:
        name: ".+"  
foo_route_foo:
    pattern:  /foo
    defaults: { _controller: AcmeDemoBundle:Foo:list, page: 1 }
    requirements:
        name: ".+"
パラメータ{page}のないルートでは、ページのデフォルトを1に設定できます。
しかし、ここのクックブックには、ルートパラメーターで「/」文字を許可する方法の章があり、ルートで/を許可して、その後に続くすべてが/foo/123/234/変数$pageにあり、関数で自分でそれらを分割できます。