4

我目前正在开发一个面向用户的 Web 应用程序,它为每个新用户在网站上提供自己的子域,这很好(使用 subdomain_fu),但是有没有办法让用户将自己的域映射到这个子域?

我知道如何通过 SSH 进入服务器并手动编辑 Apache Vhosts 文件来手动执行此操作,但是有没有办法自动执行此操作,以便用户只需将其域输入到站点上的一个框中(显然他们' d 必须在其他地方更改自己的 DNS)?

我在 Apache 上使用 Ruby 1.8 和 Rails 2.3.3。

本质上是让;

http://user.application.com/article-1

可以从

http://userdomain.com/article-1

谢谢你的帮助!

4

2 回答 2

2

您的用户应该能够为其域设置指向您的域的 CNAME 记录,例如

userdomain.com.  CNAME  user.application.com.

然后让您的应用知道他们想userdomain.com用作他们的主机名。我认为您不必更改虚拟主机设置,因为您的服务器会看到对user.application.com.

在您的应用程序中,您将需要查看主机名,如果它包含application.com您现在所做的操作,但如果没有,您将检查是否有用户将该域设置为他们的域。

于 2010-06-14T05:45:38.523 回答
0

我假设这只是您希望用户将不同域名映射到的一个应用程序,对吧?您根本不需要使用虚拟主机,因为所有请求都将发送到同一个 Rails 应用程序,而不管域名如何。如果您使用虚拟主机,那么默认虚拟主机(如果 user.application.com 解析为 1.2.3.4 则处理http://1.2.3.4的主机)需要是您的 Rails 应用程序。

于 2010-06-11T16:07:21.167 回答