首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails 3使用折射gem进行mod重写

rails 3使用折射gem进行mod重写
EN

Stack Overflow用户
提问于 2011-04-26 00:40:11
回答 1查看 559关注 0票数 1

我正在尝试使用一个子域beta.somedomain.com,我希望它能重定向到somedomain.heroku.com/beta

我在这里使用的是折射宝石:

https://github.com/pivotal/refraction

但我似乎不能让它工作。

已尝试:

初始化程序中的refraction_rules.rb

代码语言:javascript
复制
Refraction.configure do |req|
   if req.host == 'beta.somedomain.com'
     req.rewrite! "http://beta.somedomain.com/beta/#{req.path}"
   end
end

代码语言:javascript
复制
Refraction.configure do |req|
  if req.host == 'beta.somedomain.com'
    req.rewrite! "http://somedomain.heroku.com/beta/#{req.path}"
  end
end

也尝试过

代码语言:javascript
复制
req.permanent! :host => "beta.somedomain.com"

而不是重写

production.rb

代码语言:javascript
复制
config.middleware.insert_before(::Rack::Lock, ::Refraction)

但是这两种方法都不起作用,它们都将我引导到根目录'/‘

EN

回答 1

Stack Overflow用户

发布于 2011-08-21 02:12:59

您可以只使用Rails 3的内置路由功能:

代码语言:javascript
复制
constraints :subdomain => "beta" do
  match "/(:page)" => redirect { |params| "http://somedomain.heroku.com/beta/#{params[:page]}" }
end

有关详细信息,请查看Rails Guides或此Rails Dispatch article

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5780607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档