我们公司多年来拥有多个域名来保护我们的产品名称。当我们的网站首次设置时,我们将所有这些域名解析为IP地址,直到现在才能正常工作。我们用ASP.NET MVC重写了网站,现在使用Recaptcha。 Recaptcha密钥注册到“www.example.com”,这是我们的主要域名。我们还有其他域名,例如“www.examples.com”和“www.ex-ample.com”,它们指向相同的IP地址。当有人从备用域进入我们的站点时,Recaptcha不起作用,因为没有为该备用域注册密钥。我们希望将“www.examples.com”中的内容重定向到“www.example.com”。
我已经读过您可以在IIS中设置站点并使用永久重定向,但如果域都指向相同的IP地址,这会有效吗?
我们还安装了IIS 7的重写模块,因为当我们切换到MVC时,很多页面都被移动了。是否可以编写规则,如果可以,如何编写规则?
我们应该使用更好的替代品吗?
非常感谢任何有助于阐明这一点的帮助。
我在IIS中设置域没有问题,如果域都指向相同的IP地址,这是否可行?如果我访问www.example.com(192.168.1.1)它将最终在www.examples.com(192.168.1.1)上重定向到www.example.com并导致无限循环,因为它们在同一个IP上地址?
如何在Windows 2003 DNS服务器中完成CNAME?
答案 0 :(得分:0)
对于CNAME方法,您需要选择一个域名并将其作为主域名。因此,请将www.example.com作为首选,并将每个其他域名重定向到此域名。然后你可以避免无限循环。
还有一种方法可以在服务器上设置配置,以便浏览器允许多个域查看单个cookie,在本例中为www.example.com,然后是www.examples.com和www.ex -ample.com尝试阅读www.example.com的recaptha会话信息,它会工作。这将允许您在浏览器中仍然有多个URL,并支持共享会话。
我个人只是将它们全部重定向到一个域,更容易实现。
所以:
127.0.0.1 A example.com
www.exmaple.com CNAME example.com
examples.com CNAME example.com
www.examples.com CNAME example.com
等
编辑:是的,当我写这篇文章时我睡着了。这只是解决方案的一部分,我在下面发布了其余部分。答案 1 :(得分:0)
好的,除了我的CNAME解决方案之外,您还必须执行以下操作:
IIS解决方案是在IIS管理器中设置2个站点:
这种方法存在的问题是我相信访问www.examples.com/somepage.htm的请求会转发到example.com/。 (不会指向example.com/somepage.htm)
现在,您可以在IIS7(或带有Isapi_Rewrite插件的IIS6)中执行的操作是在重定向网站上设置.htaccess条目,以将所有流量发送到example.com并附加路径和查询字符串信息。
答案 2 :(得分:0)
是的,您可以通过IIS URL Rewrite
模块完成此操作。
以下是一个例子:
<rule name="WWW Redirect" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^examples.com$" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" />
</rule>
答案 3 :(得分:-1)
就在我的脑海中,你可能想在这里查看DNS CNAME。
另一种可能的解决方案是在IIS中设置一个网站,其中包含适用于您所有其他域的域别名,并让该网站将用户重定向到您的主域/网站。