перенаправить 301 поддоменов на собственные URL пользователей в рельсах 3 - PullRequest
0 голосов
/ 18 апреля 2011

У меня есть приложение rails, которое дает пользователям поддомен для их сайта.Затем пользователи могут указать свой собственный домен на этот поддомен, чтобы он выглядел как их собственный сайт.

Когда я ввожу имя домена в мое приложение, мне нужно перенаправить любые будущие запросы на URL этого субдомена в моем приложении.к их собственному домену, также передавая путь, например, company_site.hosted_site.com/pages/about_us перенаправляет на www.company_site.com/pages/about_us.

Кто-нибудь знает, как это сделать в рельсах 3?

Я не могу, поэтому он использует правила Apache, так как нужно попасть в базу данных, чтобы получить URL перенаправления, а также не хочет изменять файл conf для пользователей / поддоменов.

Кто-нибудь делал это?ssems лучше всего делать в промежуточном программном обеспечении стойки?есть идеи?

спасибо большое Рик

1 Ответ

2 голосов
/ 18 апреля 2011

Простой способ сделать это в блоке before_filter для ApplicationController, чтобы он влиял на все действия:

before_filter :redirect_to_custom_domain

def redirect_to_custom_domain
  if (customer = Customer.find_by_subdomain(request.host))
    if (customer.domain?)
      # Redirects to the customer's full domain
      redirect_to(customer.domain_url)

      # Returning false will halt additional processing for this request
      return false
    end
  end
end

Клиент будет вашей записью, в которой вы сохраните назначенные subdomain и необязательный пользовательский domain, на который они будут перенаправлены, если он указан.

В вашей записи о клиенте у вас может быть что-то вроде вспомогательного метода:

def Customer < ActiveRecord::Base
  def domain_url
    "http://#{domain}/"
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...