Routes 在URL和Symfony 1.4中使用破折号
我目前正尝试在Symfony 1.4.18的URL中使用破折号作为段分隔符,但在使用过程中遇到了一些问题 这是我的路线:Routes 在URL和Symfony 1.4中使用破折号,routes,symfony1,symfony-1.4,separator,Routes,Symfony1,Symfony 1.4,Separator,我目前正尝试在Symfony 1.4.18的URL中使用破折号作为段分隔符,但在使用过程中遇到了一些问题 这是我的路线: franchise: url: /number-:page-:slug param: { module: store, action: franchise, page: 1 } options: { suffix: .html, segment_separators: [ /,- ] } require
franchise:
url: /number-:page-:slug
param: { module: store, action: franchise, page: 1 }
options: { suffix: .html, segment_separators: [ /,- ] }
requirements:
page: \d+
正如你所看到的,这个模式非常简单,我定义了一个常量“number”,后跟一个破折号和一个变量:page,它只是一个数字。它后面是一个破折号和一个slug(slug可以包含字母数字值和破折号)
URL是通过URL_方法正确生成的,但当我尝试访问它时,出现了常见错误:
解析URL后的空模块和/或操作
我试图用加号替换:page和:slug之间的破折号(并将其添加到段分隔符中),但它也不起作用
我不知道该怎么办了?有人遇到过这种问题吗?问题是您的
slug
有一些破折号,因此Symfony无法确定页面
和slug
之间的分隔符在哪里
如果您向slug
添加了一个要求,以明确地告诉Symfony slug可以包含破折号,它将起作用
franchise:
url: /number-:page-:slug
param: { module: store, action: franchise, page: 1 }
options: { suffix: .html, segment_separators: [ /,- ] }
requirements:
page: \d+
slug: "[a-zA-Z0-9\-]+"
我越来越多地测试这个案例 除了
/
范例
工作“/测试-:测试“->一个分离器
未工作“/测试-:测试-:测试”多个
已工作“/test/:test/:test”多个,但“/”
希望这些信息有帮助
谢谢