正在寻找一种在Rails站点中重定向aspx请求的方法

时间:2013-02-08 20:07:03

标签: ruby-on-rails routing

我们正在创建一个新的基于Rails的站点,它将取代旧的.Net站点,这带来了一个有趣的问题 - 我是否有办法在Rails中设置一个路由,它将重定向所有请求到.aspx页面到我的Rails应用程序中的某个地方?说,主页?

我可以执行以下简单操作,将请求重定向到单个页面:

get '/page.aspx' => 'home#index'

但我想做以下事情:

match '/*.aspx' => redirect('/')

该规则确实有效,但它运行得有点好 - 我的所有请求现在都被重定向到root,而不仅仅是aspx页面的那些,那么有更好的方法来定义aspx匹配规则吗? / p>

2 个答案:

答案 0 :(得分:0)

我只是在应用程序控制器中设置before_filter

def ApplicationController <  ActionController::Base
  before_filter :redirect_aspx

  private

  def redirect_aspx
    redirect_to "/", status: :moved_permanently if params[:format] == 'aspx'
  end
end

答案 1 :(得分:0)

scope :format => true, :constraints => { :format => 'aspx' } do
  get '/*x' => redirect('/')
end