301转向是永久的,用于告诉搜索引擎收录转向后的url,而非当前的url。
当你从遗留的内容管理系统迁移或者是其他时候来使用它。
把下面代码插入你的controller:
headers["Status"] = "301 Moved Permanently"
redirect_to "[url]http://yoururl/[/url]"
或者:
head :moved_permanently, :location => "http://yoururl"
例子:
假如有一个controller:
class RedirController < ApplicationController
def index
head :moved_permanently,
:location => params[:newurl]
end
end
在config/routes.rb中:
map.connect '/xxx', :controller => 'redir', :newurl => '/your-new-url'