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

时间:2016-03-04 18:41:30

标签: php symfony

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

helpadvice:
        path:       /help-advice
        defaults:   { _controller: FrontBundle:Posts:helpadvice }

frontpage:
    pattern:    /{slug}
    defaults:   { _controller: FrontBundle:Pages:livepages }
    requirements:
        slug:   .+

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

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

路线的顺序很重要。 frontpage路由是捕获所有路由,因此应该是最后一个路径,您必须将其移动到那里。您可以使用router:debug命令检查订单。

答案 1 :(得分:0)

可能是您的路由错误了吗?

/ {slug}和/ help-device是相同的路由。你的symfony正在思考" help-device"是一个slu ..只需更改/ help / advice(例如)或/ slug / {slug}(或其他)的/ {slug}并检查是否能解决您的问题。