自定义URL /域(CNAME别名?)

Use*_*234 6 php dns lamp cname domain-name

我正在LAMP堆栈中创建一个应用程序,我希望为用户提供使用自己的域而不是我的站点的子域的能力.例如.

而不是:http://some_user.mysite.com

他们将使用:http://store.some_user.com/

我知道有一些公司使用CNAME记录提供此功能.(http://help.bigcartel.com/articles/14-using-a-custom-domain)但是我不确定他们是如何实现这种端到端的.

我的问题是:

  1. 这个过程叫什么?(所以如果需要,我可以进一步研究)

  2. 我需要做些什么来提供这个?即.我需要在DNS,apache和php方面做些什么来实现这个目的?

任何建议,链接或代码片段将不胜感激.

谢谢


UPDATE

到目前为止,我已经能够设置通配符DNS条目,但是我仍然遇到解析到其他域的CNAME记录的问题.例如.

http://store.weareunified.com/ - > http://weareunified.joshstuart.com.au/

weareunified.com(这是一个测试用户主机)DNS

weareunified.com. A 111.67.3.227
store CNAME weareunified.joshstuart.com.au.
Run Code Online (Sandbox Code Playgroud)

joshstuart.com.au(这是主要的应用程序主机)DNS

joshstuart.com.au. A 111.67.3.227
* CNAME joshstuart.com.au.
Run Code Online (Sandbox Code Playgroud)

小智 7

我使用LAMP进行设置,效果非常好.我是这样做的:

  1. 带有我的应用程序的目标服务器位于正常的A记录(子)域上.因此,在您的情况下,我假设您已在joshstuart.com.au上运行该应用程序.
  2. 客户端需要将store.weareunified.com的DNS条目更改为CNAME到joshstuart.com.au.
  3. Apache服务器有一个没有域规范的虚拟主机(在我的例子中),只是一个 <VirtualHost *:80>

而已.目前有70多个域名CNAME到主应用程序域,并且每个域都根据需要为其各自的站点提供服务(没有重定向等).


小智 5

实际上,你不需要做任何事情.

您的用户需要让他们的DNS提供商添加基本上将http://app.some_user.com/映射到http://some_user.app.com的CNAME记录.

任何寻找http://app.some_user.com/的 DNS客户端都被告知要查找http://some_user.app.com,因此这是DNS /客户端问题,而不是服务器问题.

亚马逊为EC2服务器的用户推荐这种技术.

请注意,CNAME记录有一个限制,它们无法分配到域的根目录 - 您的用户无法分配http://some_user.com/,只能将http://app.some_user.com/指定为CNAME.