【问题标题】:IIS7 301 URL rewrite gives 200 status rather than 301 statusIIS7 301 URL 重写给出 200 状态而不是 301 状态
【发布时间】:2012-05-08 06:45:01
【问题描述】:

我正在为一个新的客户站点测试一些 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 重定向?

感谢大家的指点!

【问题讨论】:

    标签: redirect iis-7 http-status-code-301


    【解决方案1】:

    您可以使用&lt;action type="Redirect" url="..." redirectType="Permanent" /&gt; 来重定向请求而不是重写。

    【讨论】:

    • 绝对准确!谢谢克雷格-我没有意识到那里有两种不同的选择(重定向或重写),但现在很有意义。谢谢!!
    猜你喜欢
    • 2019-08-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 2014-12-20
    • 2010-11-22
    • 2012-02-13
    相关资源
    最近更新 更多