【问题标题】:Looking for a way to redirect aspx requests in a Rails site寻找一种在 Rails 站点中重定向 aspx 请求的方法
【发布时间】:2013-02-09 04:27:34
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 你可以试试 :format => :aspx.您可能需要注册一个 mime 类型。

标签: ruby-on-rails routing


【解决方案1】:
scope :format => true, :constraints => { :format => 'aspx' } do
  get '/*x' => redirect('/')
end

【讨论】:

    【解决方案2】:

    我只需在应用程序控制器中设置一个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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 2011-11-21
      相关资源
      最近更新 更多