我正在测试一个新的客户端网站的一些URL重定向。旧网站是一个静态HTML网站,新网站是一个ASP.NET网站。我需要将一些旧的'.htm'网址重新定向到新的.aspx页面。IIS7 301 URL重写提供了200状态而不是301状态
我已经添加了一些规则在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它实际显示/约-us.aspx页面。但是,地址栏保持不变(http://www.myclientsite.com/whatwedo.htm),这并不是我所期望的。这让我很好奇,所以我使用了大量的在线'301重定向检查器'服务以及Firebug和Chrome开发工具来检查发生了什么事情,并且他们似乎都只是说没有重定向发生 - 它们只给出200状态消息在.htm页面上。
我很想获得这个权利,因为如果这样做有错误,有一些重要的SEO含义,所以我想知道是否有人可以证实这是正确的行为或者它是否错误,而不是做301正确的重定向?如果它是错误的,我该如何纠正它以执行真正的301重定向?
感谢任何指点人!
绝对正确!谢谢克雷格 - 我没有意识到有两个不同的选项(重定向或重写),但现在它有很多意义。谢谢!! – Dan 2012-04-27 15:53:38