Широкий редирект сайта - PullRequest
       5

Широкий редирект сайта

0 голосов
/ 12 октября 2009

Я создал новый веб-сайт, размещенный на Heroku, около 3 недель назад и с тех пор решил, что хочу изменить его доменное имя. Я пытался выяснить, как сделать перенаправление на весь сайт, и я собираюсь использовать что-то вроде моего контроллера приложений (добавить фильтр перед):

def new_domain
  redirect_to url_for(:controller => params[:controller], :action => params[:action], :id => params[:id], :host => 'http://newdomain.com'), :status => 301
end

Это, очевидно, не будет работать со всеми действиями и завершится ошибкой, если URL передает дополнительные параметры. Мне было интересно, есть ли что-то более общее, что я могу сделать, поэтому мне не нужно иметь кучу предложений if else?

Ответы [ 2 ]

1 голос
/ 15 октября 2009

Поскольку последние версии Rails теперь придерживаются интерфейса Rack и могут включать промежуточное ПО Rack , возможно, стоит взглянуть на Canonical Host . Я не использовал его сам, но на первый взгляд кажется, что это может быть хорошим решением.

1 голос
/ 12 октября 2009

Попробуйте это.

params[:host] = 'http://newdomain.com'
redirect_to url_for(params), :status => 301

'url_for' возьмите хеш и, изменив 'host' в параметрах, он должен перейти на новый хост с остальными параметрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...