带有可选GET参数的symfony2路由

时间:2014-11-29 11:38:54

标签: symfony routes

我的网址必须如下:

http://example.com/search/1/?cmp_name=&cmp_city=&cmp_category=&cmp_code=&cmp_vat=&cmp_address=&cmp_emp_from=&cmp_emp_till=&cmp_return_from=&cmp_return_till=&search_only_name=1

如何为此网址写路由?

我尝试了什么:

search:
    pattern: /search/{page}
    defaults: { _controller: CatalogWebBundle:Default:search }
    options:
        expose: true

但是得到错误:

No route found for "GET /search/1/" (from "http://example.com:8000/")

我的路线出了什么问题?

2 个答案:

答案 0 :(得分:3)

这里的要点是您的路线定义模式与您的网址不匹配,因为网址末尾有额外的/

这应该匹配,

http://example.com/search/1?param1=value1&param2=value2&...

答案 1 :(得分:0)

试试这个:

# app/config/routing.yml
search:
    path:      /search/{page}/
    defaults:  { _controller: CatalogWebBundle:Default:search, page: 1 }
    requirements:
        page:  \d+