2

次のように、サイトに登録した .com 以外のすべてのドメインをキャプチャする単純な 301 リダイレクトがあります。

DOMAIN = 'www.mywebsite.com'

use Rack::Rewrite do
  r301 %r{.*}, "http://#{DOMAIN}$&", :if => Proc.new {|rack_env|
    rack_env['SERVER_NAME'] != DOMAIN && ENV["RACK_ENV"] == 'production'
  }
end

元のドメインを次の形式で追加するために、応答にクエリ文字列を追加したい

?utm_source=#{rack_env['SERVER_NAME']}

しかし、サーバーをクラッシュさせない方法を完全に理解することはできません:)それを実行して、元のクエリ文字列を保持できますか?

誰かがメイン ドメインの下のサブページにアクセスする可能性は低いですが、書き直しから $& を削除し、それを自分の文字列に置き換えると、ログにエラーが表示されずに爆発します...

4

1 に答える 1