【问题标题】:How do I set up a Rails page as a subdomain of another site?如何将 Rails 页面设置为另一个站点的子域?
【发布时间】:2017-12-28 06:05:06
【问题描述】:

我们正在尝试在我们的 Rails 应用中创建页面,这些页面最终将存在于另一个合作网站的子域中。这就像StatusPage,它允许用户在 StatusPage 网站上使用他们的帐户创建一个状态页面,然后将其附加到他们自己的子域(例如status.usersite.com)。

例如,如果我们希望我们的一个页面 (www.oursite.com/users/bobsplumbing) 成为另一个站点 (ourservice.bobsplumbing.com) 上的子域,我们将如何处理?

如果它是有用的信息,我们使用 Heroku 来托管 Rails 应用程序,我们还使用 Route 53 和 Cloudflare。

【问题讨论】:

  • 使用您的域名提供商设置通配符重定向,然后在 rails 中对 URL 进行简单的字符串检查。
  • @Bitonator 通配符重定向和字符串检查的示例是什么样的?原谅我,我对这些东西很陌生。
  • 看看我的回答,但如果我误解了您的问题,请提供更多详细信息,说明您如何想象应用的基础架构。

标签: ruby-on-rails heroku dns cloudflare amazon-route53


【解决方案1】:

从您的示例中,我了解到您希望拥有多个网络应用程序,因为那将是您的客户域,并且您的页面将重定向到该页面。

您最好进行 NGINX(或任何您使用的)重定向,因为它们更快并且花费更少的时间,在初始加载后被浏览器缓存。

要回答您的问题,您可以将此代码添加到您的路线中:

  sites = %w(bobsplumbing catsandboots)
  sites.each do |name|
    match "users/#{name}" => redirect("https://ourservice.#{name}.com")
  end

你也可以看看apartment gem。

【讨论】:

    猜你喜欢
    • 2020-08-15
    • 2011-04-14
    • 2014-07-17
    • 1970-01-01
    • 2011-06-03
    • 2023-03-29
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多