url routing——在Rails 3路由中301重定向一组相关路径



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

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

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

但是,如果我还想重定向路径,如/articles/:id/articles/category/:id等,我也需要为这些重定向。

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

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

match '/articles(/*path)' => redirect { |params, req| "/blog/#{params[:path]}" }

编辑

问题是捕获带有参数的路由,现在应该解决

按照rails指南,应该这样做:

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

从重定向中提取

我希望这对你有帮助!

相关内容

  • 没有找到相关文章

最新更新