使用 IIS 将同一个网站从一个域名重定向到另一个域名

使用 IIS 将同一个网站从一个域名重定向到另一个域名

在 IIS 中的同一个网站上,我们有 2 个绑定,域名为“old.example.org”和“new.example.org”。

当有人调用“https://old.example.org/abc/?xyz=123”时,我想发送永久重定向到“https://new.example.org/abc/?xyz=123”

如果我使用 IIS 的 Http Redirect 模块,我会得到无限重定向,因为两个域名都针对同一个网站。

我可以在应用程序代码中执行此操作,但实际上在 IIS 或之前的某个地方执行此操作会更好,是否可以在 IIS 以外的另一个级别或在 IIS 中以不同方式设置这种永久重定向以避免无限循环?

答案1

您可以使用 URL 重写模块

<rule name="CanonicalHostNameRule" patternSyntax="ECMAScript" stopProcessing="true">
          <match url="^(.*)$" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^old.example.org$" />
          </conditions>
          <action type="Redirect" url="https://new.example.org/{R:1}" />
        </rule>

相关内容