Перенаправление в приложении rails: имя ключа Params, в котором хранится последний раздел URL? - PullRequest
1 голос
/ 31 января 2012

Я хочу перенаправить все входящие запросы в мой корневой домен, и нашел код ниже на devcenter.heroku.com/articles/custom-domains.

Это перенаправление работает отлично, кроме этого.Например, http://judge.me/faq работает, но http://www.judge.me/faq перенаправляет на домашнюю страницу jud.me.

Я знаю, что должен добавить параметр в эту функцию, но не могу найти имяключ params, в котором хранится последний раздел URL.Может ли кто-нибудь помочь мне или направить меня в нужное место?

class ApplicationController < ActionController::Base
  protect_from_forgery

  before_filter :ensure_domain

  APP_DOMAIN = 'judge.me'

  def ensure_domain
    if request.env['HTTP_HOST'] != APP_DOMAIN
      # HTTP 301 is a "permanent" redirect
      redirect_to "http://#{APP_DOMAIN}", :status => 301
    end
  end

end

1 Ответ

1 голос
/ 31 января 2012

Это потому, что вы перенаправляете весь домен в другой домен. Если вы хотите сохранить URL, вам нужно что-то вроде

  redirect_to "http://#{APP_DOMAIN}/#{request.path}", :status => 301

Я думаю, что это request.url. Вы также можете проверить эту ветку Как получить текущий абсолютный URL в Ruby on Rails?

...