具有两个捆绑包的 Symfony2 路由问题


Symfony2 routing with two bundles issue

我在Symfony 2应用程序中遇到路由问题。

此应用程序包含 2 个捆绑包 主站点捆绑包 和 图库捆绑包我配置了带有如下前缀的路由:

app/config/routing.yml

honorata_photo_main_site:
resource: "@HonorataPhotoMainSiteBundle/Resources/config/routing.yml"
prefix:   /
honorata_photo_gallery:
resource: "@HonorataPhotoGalleryBundle/Resources/config/routing.yml"
prefix:   /gallery

每个捆绑包内的例程现在并不重要,因为我对此有问题。

当我尝试访问/路由时,一切正常(即使捆绑包中有子路由)当我尝试访问/gallery路由时,它向我显示错误,例如:

No route found for "GET ery"
404 Not Found - NotFoundHttpException
1 linked Exception: ResourceNotFoundException »

为什么 Symfony 2 路由器在/之后剪切前 3 个字母?

我猜你在"@HonorataPhotoMainSiteBundle/Resources/config/routing.yml"内部定义了一些更通用的路由。

尝试反转定义的顺序:

honorata_photo_gallery:
    resource: "@HonorataPhotoGalleryBundle/Resources/config/routing.yml"
    prefix:   /gallery
honorata_photo_main_site:
    resource: "@HonorataPhotoMainSiteBundle/Resources/config/routing.yml"
    prefix:   /

主题已解决并关闭!

问题是/gallery 路径已经存在于 MainSiteBundle 中,我意识到使用 php app/console route:debug 并经过更深入的分析:)

下次我会制作路由日志以防止将来出现这种情况。