以前は PHP で作成されていた Web サイトを Rails を使用して書き直しました。基本的には、投稿で構成されるブログ プラットフォームです。古い URL スキームを使用して、まだ Google からリクエストを受けています。インデックス ページをレンダリングしていますが、参照されている特定の投稿を表示する必要があります。例えば:
http://domain.com/posts?page=5&postID=6433 (レンダリング インデックス、5 ページ)
次のようにする必要があります。
http://domain.com/posts/6433 (投稿 6433 を表示)
page パラメーターは破棄できます。これはコメントのページ付けに使用されていたため、不要になりました。これらのパラメーターはどちらも params[:page] および params[:postID] として Rails に渡され、posts コントローラーの index アクションに渡されます。コントローラーにいくつかのロジックを追加できると思います( :postID が存在する場合、正しい投稿を表示します)が、現在私が使用しているURLを再作成するためにnginxの書き換えを使用するのが正しい方法だと思います:
rewrite "^/posts\?page=(.*)&postID=(.*)$" /posts/$2 break;
渡された URL には何の影響もないようです。
正しい書き換え URL を作成するため、または RoR ルーティングが機能するためのヘルプを探しています。