我在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 并经过更深入的分析:)
下次我会制作路由日志以防止将来出现这种情况。