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

Posted

技术标签:

【中文标题】IIS7 或 .Net 301 从一个域重定向到另一个域【英文标题】:IIS7 or .Net 301 Redirects from 1 domain to another 【发布时间】:2011-03-04 00:43:41 【问题描述】:

我有 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】:

我想我会使用重写模块来做这样的事情。 基本上是说如果不去你的新域然后将它重定向到它。 传递将由您的自定义重写模块的其余 url

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

希望对你有帮助!

【讨论】:

以上是关于IIS7 或 .Net 301 从一个域重定向到另一个域的主要内容,如果未能解决你的问题,请参考以下文章

301使用.htaccess将一个域重定向到另一个域

301 使用 .htaccess 从旧域重定向到新域

在 Traefik 中从一个域重定向到另一个域

Fiddler:如何将路径从一个域重定向到另一个域

ASP.NET IIS7 的永久 301 重定向

在 NGINX 中执行 301 重定向时跳过参数