2012-02-02 131 views
0

我有一个网站运行在IP地址1.2.3.4与主机名www.host.com。该网站服务器只有一个网站在其上运行,可通过http://1.2.3.4访问,http://www.host.com,http://www.cname.com 。我更希望用户通过一个CNAME www.cname.com(映射到www.host.com)来访问它,所以我想将流量重定向从http://1.2.3.4HTTP来: //www.host.comhttp://www.cname.com。是否有可能通过IIS URL重写实现它?使用IIS URL重定向IP到CNAME

我试过以下规则,但一直得到重定向循环错误。

<rule name="RedirectToMitigatr" stopProcessing="true"> 
    <match url="^((?!www.cname.com).)*$" /> 
    <action type="Redirect" url="https://www.cname.com/{R:1}" /> 
</rule> 

认为规则应该做的是,它匹配任何不包含www.cname.comhttps://www.cname.com。但显然它不是:p

谢谢!

回答

1

您实际上不能将通信从IP地址重定向到另一个IP地址。 我做以下假设:1。 你想在www.cname.com网站 2. host.com应该重定向到www.cname.com

您收到一个错误,因为你基本上是重定向从www.cname.com到www.cname.com的流量。您需要URL匹配设置为www.host.com

要做到这一点,首先你需要点www.cname.com到同一目录网站host.com

假设你已经映射名称正确的服务器,创建一个新的虚拟主机cname.com并将其指向您希望您的网站

访问http://support.microsoft.com/kb/816576以获取更多信息

<rule name="RedirectToMitigatr" stopProcessing="true"> 

<match url="^((?!www.host.com).)*$" /> 
<action type="Redirect" url="https://www.cname.com/{R:1}" /> 
</rule> 
+0

Somesh同一目录下,先谢谢你的答案,但也许我应该更清楚地解释。我只有一个网站在网络服务器上运行。 Web服务器可以通过IP(1.2.3.4)和DN(www.host.com和www.cname.com)三种方式访问​​。我想要的是,如果访问者输入1.2.3.4或www.host.com,他/她将被重定向到www.cname.com。 – Jim 2012-02-04 11:23:22

+0

我可以实现将流量从http://www.cname.com重定向到https://www.cname.com,但不能将http://www.host.com重定向到http://www.cname.com。 – Jim 2012-02-04 11:24:35

+0

为什么你会从cname.com重定向到cname.com?他们是相同的域名。尝试上述路线。它从host.com重定向到cname.com – 2012-02-04 11:27:59