我发现了这个问题的一些类似的答案,但希望有人可以澄清,如果我误解。 这是在ASP.NET的IIS 7上托pipe的
在我的网站上,我有根和www域到我的主页:
我也为我的用户设置了一个URLredirect:
这些都是完美的工作,但我想让我的用户注册自己的域名指向自己的网站。 他们会控制这些名字,我会提供一个关于如何设置它们的教程。 我敢肯定,我可以弄清楚如何获得CNAME为www子域的工作,但我想要的URL也可以工作。 这可能吗?
我想要:
我可以使用域掩码,但宁愿不,因为我希望域名执行像真正的域名。
这可以通过DNS和/或编码以任何方式完成吗? 谢谢! 🙂
如果我理解正确,就不能按照您要求的方式使用CNAMElogging。 为了完成你想要做的事情,你必须把Alogging指向一些将为你做httpredirect的web服务器。 Godaddy可以为你redirect这样的域名。 他们在这里的文档中称之为“无掩码转发”
在这里给所有感兴趣的人留下一个答案,因为看起来我有这个工作!
对于用户的域名,我会指示他们把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的善良与一点魔法,使其工作。
仍然需要调整一下,但很高兴我明白了这一点! 🙂