URL别名或替换为symfony2

时间:2015-06-19 09:04:58

标签: php symfony

我有生成这样的网址的应用程序

离)

http://myserver.com/shows/12

http://myserver.com/shows/14

我的routing.yml是

acme_top_writeReviewSchool:
    pattern:  /show/{userId}
    defaults: { _controller: AcmeTopBundle:Default:showUser}   

12或14是数据库中使用的id。

id| name | position
12| james| pitcher 
14| nick | short
15| ian  | catcher

现在,我想为这个网址添加别名

http://myserver.com/james

http://myserver.com/nick

or

http://myserver.com/u=james

http://myserver.com/u=nick

or

http://myserver.com/show/james

http://myserver.com/show/nick

我用Google搜索“alias”,“url exchange”之类的关键字,或者其他东西,howevere找不到好的例子或捆绑。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

实际上,您可以将多个路由指向同一个bundle:controller:action。

例如,如果您想使用http://myserver.com/james

acme_top_writeReviewSchool_by_name:
pattern:  /{name}
defaults: { _controller: AcmeTopBundle:Default:showUser}  

您唯一需要注意的是,在控制器操作中,您需要传递Request对象以获取参数“name”或“userId”,或者您可以将参数命名为param并对其进行管理手工(可以这么说)。

你能在这里发布控制器动作吗?