C# 指向一台服务器的多个域。使用重写规则设置首选域

C# 指向一台服务器的多个域。使用重写规则设置首选域,c#,web-config,iis-8,C#,Web Config,Iis 8,我刚刚为一个客户建立了一个新网站。作为新发布的一部分,我想尝试整理他们的域名。目前,他们有3个域名都指向同一个服务器,这是不好的,当谈到搜索引擎优化。不幸的是,我没有直接访问服务器的IIS配置,因为它是与托管提供程序,但我想确保,如果用户进入两个域,它们被重定向到我们认为的主要域。 到目前为止,我有以下设置: <rewrite> <rules> <rule name="Redirect to WWW" stopProcessing="true">

我刚刚为一个客户建立了一个新网站。作为新发布的一部分,我想尝试整理他们的域名。目前,他们有3个域名都指向同一个服务器,这是不好的,当谈到搜索引擎优化。不幸的是,我没有直接访问服务器的IIS配置,因为它是与托管提供程序,但我想确保,如果用户进入两个域,它们被重定向到我们认为的主要域。 到目前为止,我有以下设置:

<rewrite>
    <rules>
    <rule name="Redirect to WWW" stopProcessing="true">
    <match url=".*" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^maindomain.dk$" />
        <add input="{HTTP_HOST}" pattern="^otherdomain1.dk$"  />
        <add input="{HTTP_HOST}" pattern="^otherdomain2.dk$"  />
    </conditions>
    <action type="Redirect" url="http://www.maindomain.dk/{R:0}"
        redirectType="Permanent"/>
    </rule>
     </rules>
    </rewrite>

我只希望谷歌注册我的maindomain.dk。当我使用它时,我只希望它使用这个域的www.maindomain.dk版本。但是,上面的脚本不起作用


当我导航到otherdomain1.dk时,它只会转到该URL。如果我导航到otherdomain2.dk,它将转到该URL。maindomain.dk显示正确的行为。我需要更改什么才能使其正常工作?

您应该将条件的逻辑分组定义为“匹配任何”


此外,你应该修正你的图案以避开这些点

<add input="{HTTP_HOST}" pattern="^maindomain\.dk$" />
<add input="{HTTP_HOST}" pattern="^otherdomain1\.dk$"  />
<add input="{HTTP_HOST}" pattern="^otherdomain2\.dk$"  />

嘿。我只是想知道这个答案是否对你有用。当做
<add input="{HTTP_HOST}" pattern="^maindomain\.dk$" />
<add input="{HTTP_HOST}" pattern="^otherdomain1\.dk$"  />
<add input="{HTTP_HOST}" pattern="^otherdomain2\.dk$"  />