web-dev-qa-db-ja.com

Rails 301リダイレクト

ランディングページへの複数のエントリを1つのURLにリダイレクトしたいと思います。

次のURL、http://mysite.comおよびhttp://www.mysite.comは、301リダイレクトを使用してhttp://www.mysite.com/にリダイレクトします。 Railsでこれをどのように行うことができますか/すべきですか?

21
Dru

私はこれを使用しました post そしてwww以外のURLを使用してリダイレクトすることにしました。

3
Dru

私はこれを試しませんでしたが、次のようなものが機能するはずです:

class ApplicationController < ActionController::Base
  before_filter :correct_domain!

  private
  def correct_domain!
    unless request.Host == 'www.mysite.com'
      redirect_to root_url, :status => 301  # or explicitly 'http://www.mysite.com/'
    end
  end
end

しかし、末尾のスラッシュがHost属性に存在するかどうかはわかりません...

22
Vapire

Railsで301リダイレクトを使用する

class RedirectController < ApplicationController
  def index
    redirect_to :root, :status => :moved_permanently
  end
end
17