Heroku 上的 URL 重写

发布于 2024-10-16 04:50:32 字数 86 浏览 1 评论 0原文

我有两个域名分配给我的 heroku 应用程序。我想确保对一个域的所有请求都永久重定向到另一个域。

我怎样才能在 Heroku 上做到这一点?

I have two domain names assigned to my heroku app. I want to make sure that all requests to one domain are permanently redirected to the other domain.

How can I do that on Heroku?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

陈独秀 2024-10-23 04:50:32

假设您使用的是 Rails 3,您可以利用新的路由系统

constraints :host => "invalid.domain.com" do
  match "/*path", :to => proc { |env|
    req = ActionDispatch::Request.new(env)
    [301, { "Location" => "http://valid.domain.com#{req.fullpath}" }, ["You are being redirected."]] 
  }
end

这只是一个例子。请随意将 lambda 重构为自定义类。

Assuming you are using Rails 3, you can take advantage of the new routing system.

constraints :host => "invalid.domain.com" do
  match "/*path", :to => proc { |env|
    req = ActionDispatch::Request.new(env)
    [301, { "Location" => "http://valid.domain.com#{req.fullpath}" }, ["You are being redirected."]] 
  }
end

This is just an example. Feel free to refactor the lambda into a custom class.

糖粟与秋泊 2024-10-23 04:50:32
class ApplicationController
  before_filter :ensure_domain

  TheDomain = 'myapp.mydomain.com'

  def ensure_domain
    if request.env['HTTP_HOST'] != TheDomain
      redirect_to TheDomain
    end
  end
end
class ApplicationController
  before_filter :ensure_domain

  TheDomain = 'myapp.mydomain.com'

  def ensure_domain
    if request.env['HTTP_HOST'] != TheDomain
      redirect_to TheDomain
    end
  end
end
恏ㄋ傷疤忘ㄋ疼 2024-10-23 04:50:32

您可以通过应用程序控制器中的 before_filter 来完成此操作 - Heroku 在其文档底部 http: //docs.heroku.com/custom-domains 或使用重定向方法在应用程序中的routes.rb 中约束匹配的路由。

约翰.

You can do this via a before_filter in the application controller - Heroku give an example at the bottom of their docs at http://docs.heroku.com/custom-domains or a contraint matched route in your application routes.rb using the redirect method.

John.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文