如何在symfony中为多个参数设置url的路由?

时间:2012-06-22 10:10:30

标签: php symfony1 routing url-routing

我正在使用symfony 1.0并为几个URL设置了路由,如下所示。

static_pages:
url: docs/:page.htm
param: { module: docs, action: index }

现在,我已为不同类型的网址设置路由。

URL is http://news4u.com/search/description/id/3/css/a/act/a

我已将路由设置如下

description:
url: /search/description/id/:id/css/:manu/act/:mgh
param: { module: search, action: description}

获取'css'和'act'的值是否正确?当URL缺少css参数时,我的意思是如果url如下:

http://news4u.com/search/description/id/3/css//act/a

- getRequestParameter('css')的值显示为'act'和 -getRequestParameter('act')的值为空

所以,我尝试应用路由,如果错了,请纠正我。我没有希望使用上面的路由配置。

1 个答案:

答案 0 :(得分:0)

您不一定需要在routing.yml文件中指定“id”,“css”和“act”作为参数,除非您在URL中使用它们以将用户发送到搜索模块和描述操作

在routing.yml中使用以下规则仍然有效:

default:
  url:   /:module/:action/*

然后你应该可以使用

url_for('search/description', array(
   'id' => 4, 
   'css' => 'something', 
   'act' => 'blah'
); 

生成如下链接:/ search / description / id / 4 / css / something / act / blah