301 重定向 ASP.NET IIS

Posted

技术标签:

【中文标题】301 重定向 ASP.NET IIS【英文标题】:301 redirect ASP.NET IIS 【发布时间】:2011-08-24 03:04:03 【问题描述】:

我有一个网站,它有别名:

site1.com

site2.com

site3.com

但它们都是同一个站点。

我需要 asp.net 的规则,这将允许 site3.com 和 site2.com 以状态 301 重定向到 www.site1.com

【问题讨论】:

【参考方案1】:

我建议使用 IIS 中的 URL 重写模块来重定向这些请求。像这样的东西可能会起作用(尽管这可能需要调整)...

<rewrite>
  <rules>
    <rule name="CanonicalHostNameRule1" stopProcessing="true">
      <match url="site?.com" />
      <conditions>
        <add input="HTTP_HOST" pattern="^www.site1.com$" negate="true" />
      </conditions>
      <action type="Redirect" url="http://www.site1.com/" redirectType="Permanent"/>
    </rule>
  </rules>
</rewrite>

编辑 - 忘记包含 redirectType 属性

【讨论】:

Xeka 需要 301 重定向(可能是出于 SEO 的原因),这不是 :) @rciq - 您愿意添加更多细节吗?我承认我忘了包括我刚刚添加的redirectType。当我使用它时,IIS 会向我发送 301。 另外,这被添加到 web.config 中,这可能使@Xeka 更容易在他的环境中实现。 你是对的!我只是建议 Xeka 尝试一下您的解决方案:)【参考方案2】:

我认为更好的选择是在 IIS 中设置这些东西。在 IIS7 中,您可以为不需要的域创建站点(甚至是虚拟目录),然后在“HTTP 重定向”部分中,您可以设置目标和所需的 HTTP 状态代码。

如果由于某种原因您无法通过 IIS 执行此操作,请尝试在 SO 中搜索编码解决方案: https://***.com/search?q=asp.net+301+redirect

【讨论】:

我使用托管,但无法访问 IIS。我只能编辑 asp 脚本 :( 那你应该试试 FlyingDeveloper 的解决方案(他现在添加了重定向类型)。仅在万不得已时才寻求编码解决方案。

以上是关于301 重定向 ASP.NET IIS的主要内容,如果未能解决你的问题,请参考以下文章