Ответ 1
ActionController:: Перенаправление # redirect_to позволяет передавать абсолютный URL-адрес, поэтому проще всего было бы передать ему что-то вроде:
redirect_to request.url.sub('blog', 'www')
Я думаю, что это должно быть довольно легко, но я не знаком с тем, как это делается...
Как вы пишете фильтр перед тем, который будет проверять, является ли текущий запрос для определенных поддоменов, и если он перенаправляет его на тот же URL-адрес, но на другой поддомен?
Ie: blog.myapp.com/posts/1
отлично, но blog.myapp.com/products/123
перенаправляется на www.myapp.com/products/123
.
Я думал что-то вроде...
class ApplicationController < ActionController::Base
before_filter :ensure_domain
protected
def ensure_domain
if request.subdomain == 'blog' && controller_name != 'posts'
redirect_to # the same url but at the 'www' subdomain...
end
end
end
Как вы пишете это перенаправление?
ActionController:: Перенаправление # redirect_to позволяет передавать абсолютный URL-адрес, поэтому проще всего было бы передать ему что-то вроде:
redirect_to request.url.sub('blog', 'www')
Простым выбором для перенаправления из поддомена в поддомен будет следующий
redirect_to subdomain: 'www', :controller => 'www', :action => "index"
Это будет вызвано доменным именем, например, foo.apple.com затем перейдет на сайт www.apple.com