使用'+'作为路由分隔符

时间:2012-05-28 12:14:52

标签: symfony routing

在Sf2的第一个版本(第一个Beta版)中,有一个选项,用于声明您的路径分隔符,例如

options: { segment_separators: ['/'] }

但是现在,它已经停止使用了,而且我正在寻找漂亮的路线,例如:

category:
pattern: /category+{cat}+page{page}
defaults: { _controller: MyPrettyBundle:Category:index }

现在我收到了这个错误:

找不到“GET / category firstcategory page1”的路由 找不到404 - NotFoundHttpException 1个链接的异常:ResourceNotFoundException

正如您所看到的,'+'只是从所需的路线中切割出来的。

任何想法如何克服这个令人讨厌的错误?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

对于URL编码,+字符用于编码空格。 URL在解析之前会被解码,因此要使用URL中的实际+字符,您必须将其编码为%2B

/category%2Bfirstcategory%2Bpage1

这不太好,所以使用+作为分隔符并不是一个好主意。