【问题标题】:Symfony2 routing with two bundles issue带有两个捆绑包问题的 Symfony2 路由
【发布时间】:2013-11-01 10:45:07
【问题描述】:

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

此应用程序包含 2 个捆绑包 MainSiteBundle 和 GalleryBundle 我用这样的前缀配置了路由:

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 个字母?

【问题讨论】:

    标签: php symfony routing bundle


    【解决方案1】:

    我猜想在"@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:   /
    

    【讨论】:

    • 我试过了。同样的错误。是的,我在这些路由中定义了一些更具体的路由。仍然削减 3 个首字母形式的路线.. 我不知道为什么
    • 你试过注释掉MainSite路由文件然后加载/gallery吗?奇怪的是,它没有切割前 3 个字符,而是切割了 4 个(“gall”)。您没有在MainBundle 中定义/gall 路由吗? :)
    【解决方案2】:

    主题已解决并关闭!

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

    下次我将制作路由日志以防止将来发生这种情况。

    【讨论】:

      猜你喜欢
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多