【问题标题】:Redirecting IP to CNAME Using IIS URL Rewrite使用 IIS URL 重写将 IP 重定向到 CNAME
【发布时间】:2012-02-02 15:28:19
【问题描述】:

我有一个网站在 IP 地址 1.2.3.4 上运行,主机名为 www.host.com。 Web服务器上只运行一个网站,可以通过http://1.2.3.4http://www.host.com访问em>http://www.cname.com。我更喜欢用户通过 CNAME www.cname.com 访问它(映射到 www.host.com),所以我想重定向来自 的流量http://1.2.3.4http://www.host.comhttp://www.cname.com。是否可以通过 IIS URL Rewrite 来实现?

我尝试了以下规则,但不断收到重定向循环错误。

<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

谢谢!

【问题讨论】:

    标签: iis url-rewriting


    【解决方案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 创建一个新的虚拟主机,并将其指向您希望网站所在的 SAME 目录

    访问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>
    

    【讨论】:

    • Somesh,先谢谢你的回答,但也许我应该解释得更清楚。我只有一个网站在网络服务器上运行。 Web服务器可以通过三种方式访问​​,IP(1.2.3.4)和DN(www.host.com和www.cname.com)。我想要的是如果访问者输入 1.2.3.4 或 www.host.com,他/她将被重定向到 www.cname.com。
    • 我可以实现将流量从cname.com重定向到cname.com,但不能将host.com重定向到cname.com
    • 为什么要从 cname.com 重定向到 cname.com?它们是同一个域。试试上面的路线。它从 host.com 重定向到 cname.com
    • StackOverflow 隐藏了协议。我的意思是我可以将 http:cname.com 重定向到 https:cname.com,但不能将 https:host.com 重定向到 https:cname.com。
    • 堆栈溢出做了什么?如果你提到实际的域会更容易
    猜你喜欢
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 2016-06-06
    • 2023-03-04
    • 2016-10-10
    • 1970-01-01
    • 2013-02-27
    • 2015-01-29
    相关资源
    最近更新 更多