【问题标题】:301 redirect ASP.NET IIS301 重定向 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

【问题讨论】:

    标签: asp.net iis redirect http-status-code-301


    【解决方案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://stackoverflow.com/search?q=asp.net+301+redirect

    【讨论】:

    • 我使用托管,但无法访问 IIS。我只能编辑 asp 脚本 :(
    • 那你应该试试 FlyingDeveloper 的解决方案(他现在添加了重定向类型)。仅在万不得已时才寻求编码解决方案。
    猜你喜欢
    • 2010-12-09
    • 2012-02-20
    • 2012-12-14
    • 2016-01-27
    • 2019-05-30
    • 2011-06-25
    • 2011-01-16
    • 2013-02-06
    • 2017-05-31
    相关资源
    最近更新 更多