是否可以根据查询值更改路径

时间:2014-01-28 04:29:00

标签: php symfony routes

在我的routing.yml

acme_top_homepage:
    pattern:  /{date}
    defaults: { _controller: AcmeTopBundle:Default:index,date:"" }

acme_who_homepage:  
    pattern:  /mailForm
    defaults: { _controller: AcmeTopBundle:Default:mailForm }

我想这样路由http://test.com/2013-04-16http://test.com/2013-06-15转到'index',http://test.com/mailForm转到'mailForm'。

如果我使用正则表达式,我很高兴。

/{date} -> /{\d\d\d\d-\d\d-\d\d}

是否可以根据查询值更改路线?

1 个答案:

答案 0 :(得分:2)

是的,只需添加一个需求正则表达式,路由只有在正则表达式匹配时才匹配:

pattern:    /{date}
defaults:   { _controller: AcmeTopBundle:Default:index }
requirements:
    date:   \d{4}-\d\d-\d\d

如果路线不匹配,那么路线将一直持续到第一条匹配的路线。