2012-12-20 6 views
6

/articlesで始まるすべてのパスの永続リダイレクトを、/blogで始まる類似のパスに設定したいとします。301 Rails 3ルート内の関連するパスのグループのリダイレクト

私はルートにパスを個別にリダイレクトする方法を知っています。

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

私もなど/articles/:id/articles/category/:idなどのパスをリダイレクトしたい場合は、私は同様にそれらのための明示的なリダイレクトを持っている必要があります。

私は、このようなすべての経路を、現在と未来に向けてリダイレクトする方法があることを期待しています。

before_filterのコントローラーでこれを比較的簡単に実行できることがわかりましたが、この動作はルートに属していると考えています。

答えて

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

作品!ありがとうございました。 – hoffm

0

編集

問題は、今では、レールガイドに続き

を解決しなければならない、それを行う方法があるべき、パラメータを持つルートをキャッチした

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

Redirection

私はホこれはあなたに役立ちます!

+0

これらのオプションのどちらも私にとっては効果がありません。最初のものは '/ articles'を正しく扱いますが、'/articles'で始まる他のパスとは一致しません。 2つめは '/ articles'を'/blog/articles'にリダイレクトし、 '/ articles'で始まる他のパスとも一致しません – hoffm

+0

問題はパラメータでルートをキャッチしていました。あなたがネストされたルートを持っている場合私に教えてください – felipeclopes

+0

これからの結果? – felipeclopes

関連する問題