繁体   English   中英

IIS URL重写-具有多个域

[英]IIS URL Rewrite - with multiple domains

我有一个网站/应用程序,其中相同页面运行许多网站(取决于页面显示不同徽标/ css /内容等的URL)。 我试图强迫每个网站域重定向到www。 域的版本。

我使用默认的规范规则从“ URL重写”开始,然后从以下位置更改了“匹配URL模式”:

(.*)

至:

(^domain*)

因此,它将仅对非www执行此操作。 当前域的版本,并且与所有域都不匹配。

我的计划是为每个使用该系统将每个域重定向到www的域创建一个。 版。

当我在IIS中测试模式时,该规则应按我认为的那样匹配。 但是,当我访问该网站时,它不会重定向,而是停留在非www上。 版。

有谁知道我要去哪里错了,或者甚至有可能吗?

谢谢J.

更新以为我会尝试给出更好的解释:

我在IIS中有一个网站设置。 该网站的页面上运行着许多相同类型的网站,每个网站上的样式,徽标和产品都会根据URL进行更改。

假设我在网站上设置了以下绑定:

www.domain1.com,domain1.com,www.domain2.com,domain2.com,www.domain3.com,domain3.com

该网站将提供外观不同的网站,其内容,样式等取决于URL。

如果然后我在URL Rewrite中使用默认的“规范域名”规则,则必须选择一个要转发的域,因此,如果我选择www.domain1.com,它将添加规则:

<rewrite>
    <rules>
        <rule name="CanonicalHostNameRule1">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www\.domain1\.com$" negate="true" />
            </conditions>
            <action type="Redirect" url="http://www.domain1.com/{R:1}" />
        </rule>
      </rules>
</rewrite>

然后,它将所有内容转发到www.domain1.com。 因此,如果用户访问domain2.com或www.domain2.com,他们将被重定向到www.domain1.com。

我需要它,以便人们按如下所示进行重定向:

domain1.com> www.domain1.com

domain2.com> www.domain2.com

domain3.com> www.domain3.com

在测试新网站以将其添加到现有网站时,我们将它们设置在子域上,因此我也要求子域继续不被重定向。

但是问题在于在同一个website / web.config文件中执行此操作。

尝试以下操作(在https://stackoverflow.com/a/31955179/2664650上@Atashbahar的贷方):

<rewrite>
    <rules>
          <rule name="Add WWW" stopProcessing="true">
          <match url="^(.*)$" />
          <conditions>
             <add input="{HTTP_HOST}" pattern="^(?!www\.)(.*)$" />
          </conditions>
          <action type="Redirect" url="http://www.{C:0}{PATH_INFO}" redirectType="Permanent" />
       </rule>
    </rules>
</rewrite>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM