将根域指向另一个TLD的子域(通过DNS,而不是屏蔽)

我发现了这个问题的一些类似的答案,但希望有人可以澄清,如果我误解。 这是在ASP.NET的IIS 7上托pipe的

在我的网站上,我有根和www到我的主页:

  • example.com进入我的主页
  • www.example.com转到我的主页

我也为我的用户设置了一个URLredirect:

  • user1.example.com重写为example.com/Page.aspx?u=user1
  • user2.example.com重写为example.com/Page.aspx?u=user2
  • 等等

这些都是完美的工作,但我想让我的用户注册自己的域名指向自己的网站。 他们会控制这些名字,我会提供一个关于如何设置它们的教程。 我敢肯定,我可以弄清楚如何获得CNAME为www子域的工作,但我想要的URL也可以工作。 这可能吗?

我想要:

  • userdomain1.com指向user1.example.com
  • www.userdomain1.com指向user1.example.com
  • userdomain2.com指向user2.example.com

我可以使用域掩码,但宁愿不,因为我希望域名执行像真正的域名。

这可以通过DNS和/或编码以任何方式完成吗? 谢谢! 🙂

如果我理解正确,就不能按照您要求的方式使用CNAMElogging。 为了完成你想要做的事情,你必须把Alogging指向一些将为你做httpredirect的web服务器。 Godaddy可以为你redirect这样的域名。 他们在这里的文档中称之为“无掩码转发”

http://help.godaddy.com/article/422

在这里给所有感兴趣的人留下一个答案,因为看起来我有这个工作!

对于用户的域名,我会指示他们把Alogging指向我的网站的IP地址。 我通过@主机做了这个,但我想也可以用*通配符主机完成。

然后,在我的Web.config文件中,我为IIS 7 Rewrite模块创build了这个条目:

<rule name="UserDomain" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" negate="true" pattern="^(?:www\.)?example\.com$" /> </conditions> <action type="Redirect" url="http://www.example.com/Page.aspx?d={HTTP_HOST}" /> </rule> 

基本上,这个负面的正则expression式规则指出,任何指向这个主机的域, 不是主要的网站域example.com,都会redirect到Page.aspx,并在查询string中传递域名。 这将允许我按照需要在数据库中查找。 最好的部分是它不是域掩码,它不是域转发。 这是一个很好的,干净的,DNS的善良与一点魔法,使其工作。

仍然需要调整一下,但很高兴我明白了这一点! 🙂