6

/articlesで始まるすべてのパスから、で始まる類似のパスへの永続的なリダイレクトを設定したいと思い/blogます。

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

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

ただし、などのパスもリダイレクトする場合は/articles/:id/articles/category/:idそれらのパスも明示的にリダイレクトする必要があります。

私は、現在と将来のすべてのそのようなパスを一挙にリダイレクトする方法があることを望んでいます。

コントローラーを使用すると、これを比較的簡単に実行できることを認識していますが、before_filterこの動作はルートに属していると考えており、そのままにしておくことを望んでいます。

4

2 に答える 2

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

編集

問題はパラメータでルートをキャッチすることでした、今それは解決されるべきです

レールガイドに従って、それを行う方法は次のようになります。

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

リダイレクトから抽出

これがお役に立てば幸いです。

于 2012-12-20T20:05:01.520 に答える