从 Symfony2 中的 routing.yml 将一条路由重定向(301)到另一条路由
Posted
技术标签:
【中文标题】从 Symfony2 中的 routing.yml 将一条路由重定向(301)到另一条路由【英文标题】:Redirect (301) one route to another from routing.yml in Symfony2 【发布时间】:2012-01-21 16:15:02 【问题描述】:我知道这可能是微不足道的,但我在网络上或 Symfony2 参考资料中找不到任何东西。
如何从 routing.yml 将一条路由重定向到另一条路由(状态码为 301)?
我正在寻找这样的东西:
SomeRoute:
pattern: /someroute
defaults: _controller: SomeBundle:Controller:action
AnotherRoute:
pattern: /anotherroute
defaults: _redirect: route: SomeRoute, status: 301
我可以创建一个控制器,但这似乎有点过头了,因为我没有任何参数(即使这样,如果要按原样传递它们也将是过头了)。
【问题讨论】:
【参考方案1】:SomeRoute:
pattern: /someroute
defaults:
_controller: SomeBundle:Controller:action
AnotherRoute:
pattern: /anotherroute
defaults:
_controller: FrameworkBundle:Redirect:redirect
route: SomeRoute
permanent: true # this is for 301
page: 5 # you can pass additional attributes
【讨论】:
路由有参数怎么办? @crudolf,添加了使用属性的示例。 官方文档:symfony.com/doc/master/cookbook/routing/redirect_in_config.html 如何将参数从原始模式传递到重定向路由?例如,将pattern: /user/username/posts
重定向到pattern: /user/username
?以上是关于从 Symfony2 中的 routing.yml 将一条路由重定向(301)到另一条路由的主要内容,如果未能解决你的问题,请参考以下文章