1

我有一个网站“mywebsite.com”,我想做一个“ http://mywebsite.com ”到“ http://www.mywebsite.com ”的 301 重定向(用于通常的 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 问题更容易(如果可能的话)(尽管如果有人对此有解决方案,我会接受)。

4

5 回答 5

1

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

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

于 2009-08-17T19:57:20.403 回答
1

如果您使用的是 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

希望这对朋友有帮助。

于 2012-06-13T23:03:35.537 回答
0

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

于 2009-08-18T18:30:13.757 回答
0

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

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

于 2010-01-20T02:57:42.830 回答
0

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

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

于 2018-08-08T08:25:33.233 回答