RoR ベースのサイトに追加するために、php で書かれた多数のランディング ページを変換しています (これは 2 年以上稼働しています)。これらのランディング ページはいくつかのバージョンに分かれていますが、残念ながら URL 名に関しては一貫性がありません。私の問題は、変換しようとしている php ページのページ ランクがすでに高いため、それらの URL をそのまま維持したいということです。
example.com/* が常にホームページにアクセスするように routes.rb を設定する方法がわかりません。ただし、 when (* == 'name-of-one-of-the-landing-pages') Rails は別のコントローラーにルーティングされ、特定のアクションがイニシャライザーと params ハッシュに基づいてレンダリングするページを決定します、前述のように、URL は php から RoR への変換前と同じです。つまり、www.example.com/*controller_name*/name_of_landing_page ではなく、www.example.com/name_of_landing_page です。
空の文字列 (つまり ) が渡された場合にパスからコントローラー名を除外できるようにする :path プロパティを知っていますがresources :examples, :path => ''
、それで問題全体が完全に解決されるわけではありません。
関連するすべてのランディング ページのハッシュを保持するイニシャライザを作成し、routes.rb で制約を使用してチェックすることを考えていましたが、この種の実装が可能かどうか、およびその方法についてはわかりません。コード例をいただければ幸いです。
そうすることを可能にするroutes.rbのある種の構文、またはおそらくより良い解決策はありますか?