6

我想设置以开头的每个路径的永久重定向到以开头/articles的类似路径/blog

我知道如何在路由中单独重定向路径,例如

match "/articles/" => redirect("/blog/")

但是,如果我还想重定向诸如等等之类的路径,我也需要对这些路径/articles/:id进行/articles/category/:id显式重定向。

我希望有一种方法可以一举重定向所有这些路径,无论是现在还是未来。

我意识到我可以在控制器中使用 a 相对容易地做到这一点before_filter,但我相信这种行为属于路线,我希望将其保留在那里。

4

2 回答 2

1
match '/articles(/*path)' => redirect { |params, req| "/blog/#{params[:path]}" }
于 2012-12-31T09:34:36.583 回答
0

编辑

问题是用参数捕获路由,现在应该解决了

按照rails guides,这样做的方法应该是:

match "/articles(/:action(/:id(.:format)))" => redirect {|p, req| "/blog/#{req.subdomain}" }

从重定向中提取

我希望这可以帮助你!

于 2012-12-20T20:05:01.520 回答