Перенаправление со старого домена на новый (SEO дружественный) - PullRequest
14 голосов
/ 28 сентября 2011

Я изменил пользовательский домен в своем приложении Heroku на новый. Теперь я создам новое приложение Heroku, единственной целью которого будет перенаправление на первое приложение.

Я прочитал в Google Webmasters, что мне нужно сделать редирект 301 следующим образом:

http://old.com/anypath/123

to

http://new.com/anypath/123

Как мне это сделать в Rails?

Ответы [ 2 ]

31 голосов
/ 28 сентября 2011

Поместите это перед фильтром в ApplicationControlller:

class ApplicationController
  before_action :redirect_if_old

  protected

  def redirect_if_old
    if request.host == 'old.com'
      redirect_to "#{request.protocol}new.com#{request.fullpath}", :status => :moved_permanently 
    end
  end
end
5 голосов
/ 28 сентября 2011

В вашем действии контроллера:

redirect_to "http://new.com#{request.request_uri}", :status => 301

Тем не менее, у Heroku есть то, что может быть немного лучшим вариантом для вас, задокументировано в их центре разработки:

class ApplicationController
  before_filter :ensure_domain

  APP_DOMAIN = 'myapp.mydomain.com'

  def ensure_domain
    if request.env['HTTP_HOST'] != APP_DOMAIN
      # HTTP 301 is a "permanent" redirect
      redirect_to "http://#{APP_DOMAIN}#{request.request_uri}", :status => 301
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...