关于我的新自定义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}(或其他内容),然后检查是否可以解决您的问题。