生成的 slug 覆盖 Symfony2 控制器链接


Generated Slug Overriding Symfony2 Controller Links

关于我的新自定义CMS,我的路由遇到了一些问题。我的 CMS 可以为页面生成自定义 slug,我已经为此设置了路由。它做得很完美。但是,我还有一个帮助和建议部分,该部分具有不同的URL,并且是静态页面。我的路由.yml看起来像这样:-

helpadvice:
        path:       /help-advice
        defaults:   { _controller: FrontBundle:Posts:helpadvice }
frontpage:
    pattern:    /{slug}
    defaults:   { _controller: FrontBundle:Pages:livepages }
    requirements:
        slug:   .+

这应该可以正常工作,但是当我访问该页面时,我收到一个错误,指出它正在使用 slug 在数据库中查找该页面。

谁能帮我解决这个问题?

路线的顺序很重要。frontpage路线是一条捕获所有路线,所以这应该是最后一条,你必须把它移到那里。您可以使用 router:debug 命令检查顺序。

可能是您的路由错误吗?

/

{slug} 和/help-device 是相同的路由。你的symfony认为"帮助设备"是一个蛞蝓。只需将/help-advice 更改为/help/advice(例如)或将/{slug} 更改为/slug/{slug}(或其他内容),然后检查是否可以解决您的问题。