2012-04-07 24 views
15

Tôi muốn chuyển hướng nhiều mục nhập đến trang đích của mình tới một url.Rails 301 Redirection

Các url sau, http://mysite.comhttp://www.mysite.com, sẽ chuyển hướng đến http://www.mysite.com/ bằng cách sử dụng chuyển hướng 301. Làm thế nào có thể/nên điều này được thực hiện trong Rails?

+0

mà webserver bạn đang sử dụng? – alex

Trả lời

3

tôi đã sử dụng này post và quyết định chuyển hướng bằng url không phải www.

17

tôi không thử loại này, nhưng một cái gì đó như thế này nên làm việc:

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 

Nhưng tôi không chắc chắn nếu dấu gạch chéo có mặt trong các thuộc tính chủ ...

+0

Cảm ơn Vapire, nhưng tôi nhận được lỗi vòng lặp chuyển hướng khi tôi thêm điều này vào bộ điều khiển ứng dụng của mình. – Dru

+0

Cần phải được thực hiện trong bộ điều khiển nhà, làm việc độc đáo cho tôi. – creativetechnologist

+0

@Dru chỉ là một đoán nhưng có lẽ '' 'root_url''' của bạn không phù hợp với' '' request.host''' (tức là. Không bao gồm www). –

10

Sử dụng 301 redirect trong Rails

class RedirectController < ApplicationController 
    def index 
    redirect_to :root, :status => :moved_permanently 
    end 
end 
Các vấn đề liên quan