我想知道如何允许“?” Symfony2中路由参数中的字符。这是我的路线(实际上,我关注的路线参数是“messtext”):
ikproj_groupe_sendreply1:
pattern: /{groupid}/{receiver}/{messtext}/{cible}/sendreply
defaults: { _controller: IkprojGroupeBundle:Messages:SendReply1 }
requirements:
messtext: .+
事实上,我看了一下这个链接:http://symfony.com/doc/current/cookbook/routing/slash_in_parameter.html,它是关于如何在Symfony2中的路由参数中允许“/”字符。我完成了从该教程中学到的内容,但问题是它不起作用:Symfony2仍然显示以下错误消息: 找不到“GET / groupe / sendreply / 11/28 / hello,%20dear%20sir ... can%20I%20join%20your%20group”的路线
所以,我的问题是:上面的代码有什么问题,我该如何解决?
答案 0 :(得分:0)
路线中只有一个参数可以接受'/'字符。这必须是最后一个,因为后面的每一个都被认为是param值的一部分......在你的情况下,Symfony路由从不检测URL的cible
和sendreply
部分。
尝试将messtext
param放在网址的最后:
ikproj_groupe_sendreply1:
pattern: /{groupid}/{receiver}/{cible}/sendreply/{messtext}
defaults: { _controller: IkprojGroupeBundle:Messages:SendReply1 }
requirements:
messtext: .+