1

アプリケーション内の特定のページにインデックスを付ける検索インデクサーがあります。インデックス作成用に作成する URL は、アプリケーションの他のページ内で提供されるコンテンツの集合体です。インデクサーには集計ページが表示され、ユーザーには見つかったトピックの最初のページ/ダッシュボードが表示されます。

検索インデクサーを除く全員を (routes.rb または before_filter を介して) トピックのダッシュボードにルーティングする方法を知りたいです。

例えば。集計ページは /topics/123-my-topic/searchindex です。このページにはトピック 123 のコンテンツがすべて含まれているため、インデクサーはそのページを関連コンテンツとして返します。ユーザー (検索インデクサーの IP ではない) が /topics/123-my-topic/searchindex にアクセスすると、/topics/123-my-topic にルーティングされる必要があります。

基本的に、既知の IP アドレス以外のすべてのリクエストから /searchindex を削除する最良の方法は何ですか?

これはおそらく apache の .htaccess で実現できますが、これをアプリケーション内に保持したいので、インデクサーの IP アドレスが変更された場合にサーバー上のファイルを変更する必要はありません。

ありがとうございました

マット

4

1 に答える 1

0
before_filter :redirect_users

def searchindex
  # :id => '123-my-topic'
  redirect_users
  # Handle searchindex traffic for the indexer
end

def redirect_users
  unless ip == '127.0.0.1'
    redirect_to :action => :show, :id => :topic_id
  end
end
于 2012-09-30T15:58:01.917 に答える