【问题标题】:Redirect *.domain.com & domain.com to www.domain.com将 *.domain.com 和 domain.com 重定向到 www.domain.com
【发布时间】:2010-08-24 16:38:20
【问题描述】:

我遇到了搜索引擎优化问题,用户可以通过指定任何子域来访问我的网站。这会导致 SEO 出现重复页面问题。

例如,如果用户输入错误“www”,然后在论坛上发布链接,则 Google 正在抓取“www.domain.com”。此外,谷歌还在抓取“domain.com”。

无论用户如何访问该网站,我都需要一种强制网站始终重定向到“www.domain.com”的方法。

是否可以在 web.config 文件中执行此操作?如果没有,我还能如何做到这一点?

干杯,Curt。

【问题讨论】:

    标签: asp.net iis-6 seo web-config asp.net-2.0


    【解决方案1】:

    您可以使用 IIS URL 重写模块执行此操作。这是将 domain.com 重写为 www.domain.com 的配置:

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

    您可能需要稍微修改正则表达式或添加第二条规则以支持重写特定子域。

    【讨论】:

    • 这似乎对我不起作用。它与在 IIS6 服务器上设置的网站有什么关系吗?
    【解决方案2】:

    不幸的是,IIS6 上没有 URL 重写模块。

    如果您想使用 url 重写,您可以检查以下一项:

    【讨论】:

      【解决方案3】:

      啊,刚刚做到了!

      将默认站点设置为仅使用 URL 重定向将所有呼叫重定向到您的 www.site.com,然后使用您的实际内容创建另一个站点,该站点仅绑定到 www 子域。

      这意味着如果没有其他可用的绑定,所有流量都将被重定向到 www 站点。

      【讨论】:

        【解决方案4】:

        这对我来说非常有效:

        IIS 6 how to redirect from http://example.com/* to http://www.example.com/*

        我必须更改一些代码才能使其与我的 Url-Rewriting 一起使用,但除此之外,请注意!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-07-14
          • 2012-05-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-22
          • 2015-12-26
          • 2013-02-16
          相关资源
          最近更新 更多