0

リクエストを別のドメインに転送する Rack アプリを作成したいと考えています。ファラデーの宝石はこれに適しているかもしれません。このようなものがいいでしょう:

私のconfig.ruファイル:

...
my_app = lambda do |env|
  conn = Faraday.new(env)
  conn.url = "http://some-other-domain.com"
  env.get? ? conn.get : conn.post
end

run my_app

こんなに簡単なのだろうか。何か案は?

4

1 に答える 1

1

ラックリライト(https://github.com/jtrupiano/rack-rewrite)を確認することをお勧めします。これを使用して、書き換えルールとリダイレクトルールを定義および適用できます。ユースケースに適したラックリライトの可能な使用法は次のとおりです。

require 'rack/rewrite'
use Rack::Rewrite do
  r301 %r{.*}, 'http://mynewdomain.com$&', :if => Proc.new {|rack_env|
    rack_env['SERVER_NAME'] != 'mynewdomain.com'
  }
end
# rest of your app

リライトルールのシグネチャはrewrite_method(request_url_expression、rewrite_url_expression、options)です。この例では、メソッド#r301は、指定された正規表現をリクエストURIを持つ新しいドメインに一致させるすべてのリクエストURLに永続的なリダイレクトを提供します($&置換演算子を使用)。ドキュメントに詳細があります。

于 2012-09-25T01:21:33.487 に答える