2

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

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

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

但我想做类似以下的事情:

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

该规则确实有效,但效果有点太好了——我的所有请求现在都被重定向到 root,而不仅仅是 aspx 页面的请求,那么有没有更好的方法来定义 aspx 匹配规则?

4

2 回答 2

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
于 2013-02-08T20:18:02.830 回答
0
scope :format => true, :constraints => { :format => 'aspx' } do
  get '/*x' => redirect('/')
end
于 2013-02-08T20:27:34.117 回答