我正在测试新客户端网站的一些网址重定向。旧站点是一个静态HTML站点,新站点是一个ASP.NET站点。我需要将新网站上不再存在的旧“.htm”网址重定向到等效的新.aspx网页。
我在web.config文件中添加了一些规则,如下所示:
<rewrite>
<rules>
<rule name="Rule 1">
<match url="index.htm" />
<action type="Rewrite" url="/" redirectType="Permanent" />
</rule>
<rule name="Rule 2">
<match url="whatwedo.htm" />
<action type="Rewrite" url="/about-us.aspx" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
这似乎有效,因为当我在浏览器中加载URL时:http://www.myclientsite.com/whatwedo.htm它实际上显示了/about-us.aspx页面。但是,地址栏(http://www.myclientsite.com/whatwedo.htm)中的地址保持不变,这是我没想到的。这让我很好奇,所以我使用了一堆在线“301重定向检查器”服务以及Firebug和Chrome开发工具来检查发生了什么,他们似乎只是说没有重定向发生 - 他们只给出了200个状态.htm页面上的消息。
我很想做到这一点,因为如果出现问题,有一些重要的SEO影响,所以我想知道是否有人可以确认这是正确的行为,或者某种方式是否错误并且没有做正确的301重定向?如果错了,我该如何纠正它以执行真正的301重定向?
感谢任何人们的指点!
答案 0 :(得分:3)
您可以使用<action type="Redirect" url="..." redirectType="Permanent" />
重定向请求,而不是重写。