19

これはかなり簡単だと思いますが、その方法に慣れていません...

現在のリクエストが特定のサブドメインに対するものかどうかをチェックする前のフィルターをどのように記述し、そうである場合は同じ URL にリダイレクトしますが、別のサブドメインにリダイレクトしますか?

つまり: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

そのリダイレクトをどのように記述しますか?

4

4 に答える 4

15

ActionController::Redirecting#redirect_to allows you to pass an absolute URL, so the easiest thing to do would be to pass it one with something like:

redirect_to request.url.sub('blog', 'www')
于 2012-05-15T04:50:59.033 に答える
1

これに対する簡単な解決策は

redirect_to dummy_rul(subdomain: 'subdomain')

例:

redirect_to projects_url(subdomain: 'edv') it will redirect on below url

"http://edv.maindomain.com/projects"

「edv」は私のサブドメインです

于 2021-01-05T14:00:07.743 に答える