0

私は PHP で書かれた古いアプリケーションを持っていますが、今はそれを新しい RoR アプリに置き換えています。古いアプリケーションには、「this-is-seo-title,n123.html」のようなリンクがあります。htaccess には、これらのリンクを news.php?id=123 に変換するルールがあります。

RoR アプリをセットアップすると、リンクは「RoR 方式」(:controller/:action/:id) になります。クールでいいのですが、Google には約 50,000 のインデックス付きサブページがあります。このインデックス付きのサブページを壊したくないので、ここに質問があります:

「this-is-seo-title,n123.html」リンクを /news/123 に変換する htaccess ファイル内に新しいルールを作成できますか?

まだアプリをデプロイしておらず、パッセンジャー モジュールのある環境にアクセスできないため、自分でテストすることはできません。

4

1 に答える 1

0

htaccessを使う必要はないと思います。レールに行く場合は、レールヘルパーを使用してください。私はこれがあなたのroutes.rbでうまくいくはずだと思います:

match 'this-is-seo-title,n:id.html' => 'news#show'

そのルートは、NewsControllerと、123を:idパラメーターとして使用したshowアクションを呼び出します。それはあなたが探していたものでしたか?

編集:

Rails2の場合

map.connect 'this-is-seo-title,n:id.html', :controller => 'news', :action => 'show'

少なくとも、それはRails2で機能すると思います。テストするatmを実行している環境がありません。うまくいかない場合はお知らせください。

于 2011-04-08T15:36:33.187 に答える