路由默认的尾随斜线?

时间:2014-05-21 07:58:17

标签: symfony routes yaml

我有以下路线:

reviews:
    pattern: /reviews/{uid}{trailingSlash}
    defaults: { _controller: unrealsp.cms.controller:handle_review, uid: "index", trailingSlash : "/" }
    requirements: { trailingSlash : "[/]{0,1}" }

我使用this stackoverflow answer使用尾部斜杠完成了这项工作。

路线会识别“/ reviews”网址,并参考索引 uid ,显示可用评论的索引(而不是单个评论其他 uid )。但是,它不会将“/ reviews /”识别为索引,说没有这样的路线。我该如何改变呢?

1 个答案:

答案 0 :(得分:0)

尝试改变它:

pattern: /reviews/

{uid}生成路由器所需的参数,因此如果您希望/ reviews /有效,则必须将其从路由定义中删除。这样你只需添加控制器:

$uid = $request->get('uid','index');

另一种解决方案是:

reviews:
    pattern: /reviews/{uid}
    defaults: { _controller: unrealsp.cms.controller:handle_review }
    requirements: { uid: "\d+" }

reviews_index:
    pattern: /reviews/
    defaults: { _controller: unrealsp.cms.controller:handle_review }