【问题标题】:301 redirect for IIS 7.5 to replace domain only and maintain page structureIIS 7.5 的 301 重定向以仅替换域并维护页面结构
【发布时间】:2016-02-04 01:20:53
【问题描述】:

我进行了广泛的搜索,但无法为我的问题找到一个确凿的答案...

我的旧域名 = www.olddomain.com
我的新域名 = www.newdomain.com

这是唯一改变的事情,我在网站上有很多其他页面和互联网上的一些链接,我想 301 重定向并且不会受到 SEO 搜索引擎的惩罚。

我有一个 Windows 2008 R2 IIS 7.5,所以不能使用 .htaccess 文件(我之前成功使用过很多次)并且需要传输:

www.olddomain.com/folder/page.html

www.newdomain.com/folder/page.html

请有人帮助我为我的整个网站的 web.config 正确的 URL 重写模式,而不仅仅是单个页面?

谢谢

【问题讨论】:

    标签: url-rewriting iis-7.5 http-status-code-301 http-redirect


    【解决方案1】:

    您可以轻松地使用来自:http://www.iis.net/downloads/microsoft/url-rewrite 的 URL 重写

    即使在 UI 中,它也包含一个“规范域”的默认模板,可以做到这一点:

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

    【讨论】:

    • 嗨 Carlos,感谢您的回复,这不是我遇到的规范域问题,它是 2 个独立的域。例如 www.foo.com 到 www.bar.com 你有针对不同域的解决方案吗?谢谢
    • 除非我遗漏了同样的问题,基本上这条规则将重定向到 www.newdomain.com 任何未发送到它的内容,同时尊重 URL(也就是连接 URL 和请求参数)。除非我弄错了,否则这就是您所说的。请注意,如果您想专门匹配 www.olddomain.com,请将条件更改为:pattern="^www\.olddomain\.com$" />
    • 不应该的,你把上面的括号复制到了比赛中吗? {R:1} 将确保它将正则表达式捕获的所有数据添加到匹配项中,即整个 URL,因此它应该保留它。
    • 这是我的规则........ newdomain.co.uk{R:1}" />
    • 您的规则是“如果不是 olddomain.co.uk,则重定向到 newdomin.co.uk”。那是你试图做的吗?它以为你想要。您还从我打破它的规则中删除了 http 和斜杠。这就是我认为你想要的(同上): newdomain.co.uk{R:1}" />
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2014-06-24
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    相关资源
    最近更新 更多