Routes 在URL和Symfony 1.4中使用破折号

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

我目前正尝试在Symfony 1.4.18的URL中使用破折号作为段分隔符,但在使用过程中遇到了一些问题

这是我的路线:

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”多个,但“/”

希望这些信息有帮助 谢谢