2012-01-02 2 views
1

Я создаю сайт RoR3, который генерирует микросайты для каждого клиента. В этот момент они входят в свой микросайт, используя URL-адрес www.site.com/clientid, но я хочу, чтобы он зарегистрировал свой домен программно, поэтому они будут входить на www.clientid.com, и они будут перенаправлены на мой сервер. Есть ли способ сделать это?RoR 3 - Регистрация доменов для моих клиентов

ответ

1

Попросите клиента указать домен на ваш IP-адрес, используя интерфейс управления DNS регистратора. (Более технически это приведет к созданию A record или AAAA record, но это не ваше дело).
Как только DNS будет распространен, ввод www.clientid.com в браузере сделает запрос на ваш сервер (ваше приложение-рельсы). Там вы можете выборочно обслуживать контент на основе домена.

class ApplicationController 
    before_filter do 
    @current_account = Account.find_by_domain(request.domain) 
    end 
end 
+0

Есть ли все равно, чтобы сделать это без того, чтобы клиент покупал домен? Может быть, godaddy api или что-то в этом роде. – Tony

+0

Вы можете предоставить субдомены в своем собственном домене в форме 'clientid.yourdomain.com', используя ту же технику, и выполните' Account.find_by_subdomain (request.subdomain) 'http://railscasts.com/episodes/221-subdomains- in-rails-3 Это означает, что вам нужно настроить свой сервер соответственно, например, в Apache 'ServerAlias ​​* .yourdomain.com' – clyfe

+1

В противном случае, если вы хотите спуститься прямо с домена верхнего уровня, вам нужно, чтобы клиент купил домен , или взаимодействовать с регистратором через API, выступая в качестве третьей стороны. – clyfe

Смежные вопросы