如何将Rails页面设置为另一个站点的子域名?

问题描述:

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

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

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

+0

设置通配符重定向与您的域名提供商,之后,它的一个简单的字符串检查栏中的URL。 – Bitonator

+0

@Bitonator通配符重定向和字符串检查的例子会是什么样子?原谅我,我对这件事很陌生。 – Andrew

+0

看看我的回答,但如果我误解了你的问题,请提供更多关于你如何想象你的应用基础设施的细节。 –

从你的例子我明白,你想拥有多个网络应用程序,因为这将是你的客户域,你的网页将重定向到该页面。

你会更适合做NGINX(或者你使用的任何)重定向,因为它们速度更快,并且花费更少的时间,在初始加载后由浏览器缓存。

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

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

你也可以看看apartment宝石。