IIS7或.Net 301从1个域重定向到另一个域

时间:2010-06-15 14:25:41

标签: .net iis-7 http-status-code-301

我有2个域名。对于这个问题,我会称他们为www.old.com和www.new.com。这两个URL都指向同一个IIS7 Site实例。我需要这样做,以便当有人访问www.old.com时,他们会获得301重定向到www.new.com。

棘手的部分是我正在使用站点内页面的URL重写。所以www.old.com/About.aspx重定向到www.new.com/About。为了使用IIS7 URL重写规则,它还意味着www.new.com/About.aspx重定向到www.new.com/About。这很好,并不是什么大不了的事。

我的问题是如何在不丢失子页面的URL重写的情况下重定向主域名?

我不在乎我是否在IIS7中使用模块,或者我是否需要在.NET代码中使用它。

1 个答案:

答案 0 :(得分:3)

我想我会使用重写模块来做这样的事情。 基本上是说,如果没有进入你的新域,那么将其重定向到它。 传递你的自定义重写模块所需的其余网址

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

希望它有所帮助!