【问题标题】:Canonical name redirects in Godaddy?Godaddy 中的规范名称重定向?
【发布时间】:2010-11-20 09:01:18
【问题描述】:

我有一个网站“mywebsite.com”,我想将“http://mywebsite.com”301 重定向到“http://www.mywebsite.com”(用于通常的 SEO 目的)。

我正在运行 IIS7,但是站点前面有一个 ISA 服务器防火墙,这似乎(根据这篇文章,尽管他的解决方案对我不起作用——http://mrvirtual.de/2009/07/04/url-rewrite-through-isa-server-ends-in-a-loop/)导致重写规则进入无限重定向循环。

DNS 由 Godaddy (TotalDNS) 管理。有没有办法配置 DNS 或域转发,以便我可以在到达 ISA 防火墙/IIS 之前完成重定向?这似乎比试图追踪和修复 ISA、IIS 问题更容易(如果可能的话)(尽管如果有人对此有解决方案,我会接受)。

【问题讨论】:

  • 我收到了 Godaddy 的回复:使用您使用的 DNS 配置,无法通过 DNS 转发域。您可能需要考虑 301 重定向。所以,他们说,我不能通过 Godaddy DNS 做到这一点。
  • 我目前解决 ISA 问题的方法是使用 IIS 7 url 重写将mywebsite.com 重定向到另一个域mywebsite.info,但是mywebsite.info 重定向到 mywebsite.com。应该有两个重定向。
  • 我撤回我的声明,即上面的文章没有解决问题。我只是没有尝试足够的变化。在 ISA 服务器策略的“收件人”选项卡中,“此规则适用于此发布的网站”文本框中,我将字段从 www.mywebsite.com 更改为在 IIS 中列出的方式)只是 MyWebsite ...看来我可以将其设为任何文本字符串,只要它不是重定向中使用的实际站点的名称(mysite.com 和 www.mysite.com 都导致了无限循环)。如上所述更改它并解决问题。感谢您轻推 mcandre。

标签: iis redirect http-status-code-301 hostname canonical-link


【解决方案1】:

“IIS 重定向到 www”的第一个结果:

http://www.xoc.net/works/tips/domain.asp

【讨论】:

  • 这对我不起作用。它可能是来自早期 IIS 版本的配置设置——在 IIS 7 中,当您设置重定向时,它会更新网站的 web.config,并且作为示例,重定向的站点指向相同的文件夹,它会生成 www。网站重定向到自己。因此,另一个无限的重定向循环。然而有趣的是,xoc.net 恰好是我兄弟的网站。可惜他从来没有给我打电话,否则我会告诉他更新他的例子! ;-)
  • 和我哥聊过,他帮我解决了。谢谢你提醒我老他叫什么名字!他在他的网站上提供的解决方案在没有 ISA 服务器问题的情况下也可以工作,但需要注意的是,您可能需要让它不指向您重定向到的同一个项目。
【解决方案2】:

如果您使用的是 IIS7 并且您使用的是 .Net 3.5(至少),恕我直言,最快的方法是将其快速添加到您的 web.config 文件中。

<system.webServer>
<rewrite>
<rules>
    <rule name="CanonicalHostNameRule1">
        <match url="(.*)" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^www\.example\.com$" negate="true" />
        </conditions>
        <action type="Redirect" url="http://www.example.com/{R:1}" />
    </rule>
</rules>

注意:在这个例子中它是从一个非 www url 到一个 www url

希望这对朋友有帮助。

【讨论】:

    【解决方案3】:

    我收回我的声明,即上面的文章没有解决问题。我只是没有尝试足够的变化。在 ISA 服务器策略的“收件人”选项卡中,“此规则适用于此发布的网站”文本框中,我将字段从 www.mywebsite.com 更改为在 IIS 中列出的方式)只是 MyWebsite ...看来我可以将其设为任何文本字符串,只要它不是重定向中使用的实际站点的名称(mysite.com 和 www.mysite.com 都导致了无限循环)。如上所述更改它并解决问题。感谢您轻推 mcandre。 – 基因 0 秒前

    【讨论】:

      【解决方案4】:

      如果您在 ASP NET 上进行开发,那么可以通过使用全局 asax 的 application_beginrequest 事件来应用一个简单的修复

      这里有详细的解释 http://www.xaviermorera.com/2010/01/fix-canonical-redirect-issue-on-asp-net-in-a-shared-host-rackspacecloud/

      【讨论】:

        【解决方案5】:

        为什么要尝试复杂的事情?只需使用文件名 .htacces 尝试以下代码,然后上传到您的网站托管服务器 (public_html) 的根文件夹。

        RewriteCond %{HTTP_HOST} ^www.example.com$ RewriteRule ^/?$ "http://example.com/" [R=301,L]

        【讨论】:

        • 用户的问题是关于 IIS 的,这意味着他们在 windows 上而不是 .htacces 文件
        猜你喜欢
        • 2013-04-06
        • 1970-01-01
        • 2012-09-27
        • 1970-01-01
        • 2011-08-16
        • 2012-12-03
        • 2017-07-10
        • 1970-01-01
        • 2016-03-28
        相关资源
        最近更新 更多