2015-03-07 3 views
0

У меня есть одно приложение, которое поддерживает два домена: http://domain1.com и http://domain2.com. Модели, контроллеры и представления разделяются между доменами.Задание действия контроллера Rails на основе домена

В прошлом http://domain1.com/user_type_2/faqs и http://domain2.com/user_type_2/faqs были отгружены отдельно, используя одно и то же действие контроллера. Теперь, однако, по причинам SEO я хочу полностью удалить представление, связанное с domain1, и перенаправить все запросы типа faq пользователя (из любого домена) на http://domain2.com/user_type_2/faqs - продолжая использовать существующий контроллер и действия.

Как указать маршрут в route.rb, который перенаправляет все запросы от http://domain1.com/user_type_2/faqs до http://domain2.com/user_type_2/faqs?

Я пытался

match 'http://domain1.com/user_type_2/faqs', :to => redirect('http://domain2.com/user_type_2/faqs')

и

constraints(:host => /domain1.com/) do match "/user_type_2/faqs" => redirect {|params, req| "//domain2.com/#{params[:path]}"} end

Ни кажется, работает.

ответ

0

Получается, что ответ является перенаправлением в пределах ограничения домена. Довольно просто, как только я это увидел.

constraints domain: 'domain1.com' do 
    match 'user_type_2/faqs', :to => redirect('http://domain2.com/user_type_2/faqs') 
end