2

我正在为一个新的客户端站点测试一些 URL 重定向。旧站点是静态 HTML 站点,新站点是 ASP.NET 站点。我需要将新站点上不再存在的一些旧的“.htm”URL 重定向到等效的新 .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 重定向?

感谢大家的指点!

4

1 回答 1

3

您可以使用<action type="Redirect" url="..." redirectType="Permanent" />重定向请求而不是重写。

于 2012-04-27T15:41:59.037 回答