1

通常,我使用 .htaccess 中的简单规则将我的网站部署在带有 Apache ModRewrite 的服务器上,将带有 www 的地址重定向到不带 www 的地址:www.example.com => example.com

我目前正在使用 IIS + UrlRewrite 在带有 Windows 的服务器上部署网站。在我实现重定向设置的 web.config 文件中,我有以下规则来删除 www 地址:

<rule name="Imported Rule 1" stopProcessing="true">
    <match url="^(.*)$" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="^www\.(.+)$" />
    </conditions>
    <action type="Redirect" url="http://{C:1}/{R:1}" redirectType="Permanent" />
</rule>

通过浏览器,重定向完美!但是一些外部工具,例如 Facebook 和 Google+1 按钮,在重定向规则处于活动状态时
不起作用。

例如,Google+1 按钮点击它时出错(在申请中点击按钮我可以看到错误:“code”:-32099,“message”:“Backend Error”)。
在尝试使用以下工具分析带有 www 地址的网站时,Facebook 已经意识到问题:http: //developers.facebook.com/tools/debug
Facebook 错误:URL Parsing Error: Error parsing the URL typed, no data was collected.

禁用重定向后,Google+1 按钮和 Facebook 的分析工具可以完美运行。

注意:原则上不通知本站,因为我想留下一个禁用的规则来寻找解决方案。如果有必要通知链接,我将编辑此问题。


编辑: 经过一些测试,无论是否启用了规则,我的 +1 按钮问题仍在继续。我在 Google Code 上找到了一个关于相同问题的线程,但不明白应该怎么做:

http://code.google.com/p/google-plus-platform/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Component%20Owner%20Summary%20Stars&groupby=&sort=&id= 241

该问题只发生在绑定到该站点上。我创建了一个带有两个 +1 按钮的测试页面,一个指向站点,一个指向 Stackoverflow。通过单击按钮 Stackoverflow 工作,但不是另一个:

http://renalvida.org.br/teste.php

4

0 回答 0