首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在带有Symfony 1.4的URL中使用破折号

在带有Symfony 1.4的URL中使用破折号
EN

Stack Overflow用户
提问于 2012-09-16 00:45:04
回答 2查看 1K关注 0票数 2

目前,我正试图在带有Symfony 1.4.18的URL中使用破折号作为段分隔符,而且我在使其工作时遇到了一些困难。

这是我的路线:

代码语言:javascript
复制
franchise:
    url:          /number-:page-:slug
    param:        { module: store, action: franchise, page: 1 }
    options:      { suffix: .html, segment_separators: [ /,- ] }
    requirements:
        page: \d+

正如您所看到的,模式非常简单--我定义了一个常量" number“,后面跟着一个破折号和一个变量:page,它只是一个数字。它后面是一个破折号和一个鼻涕虫(弹格可以包含字母数字值和破折号)。

url_for方法正确地生成了URL,但是当我尝试访问它时,我有一个通常的错误:

解析URL后的空模块和/或操作.

我试着用加号(并将其添加到segment_separators)替换:page和:slug之间的破折号,但两者都不起作用。

我不知道该怎么办了?有人已经遇到这种麻烦了吗?

EN

回答 2

Stack Overflow用户

发布于 2012-09-17 08:03:22

问题是您的slug有一些破折号,所以Symfony无法确定pageslug之间的分隔符在哪里。

如果您向slug添加了一个需求,要显式地告诉Symfony,段塞可以包含破折号,那么它将有效。

代码语言:javascript
复制
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\-]+"
票数 1
EN

Stack Overflow用户

发布于 2012-09-19 12:00:43

我测试的情况越来越多,除了/,您不能使用多个分隔符

示例

已工作“/test-:测试”“->一个分隔符未工作”/测试-:test-:测试“多个工作”/测试/:test/:test“多个但”/

希望这些信息有帮助,谢谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12443600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档