7

我们最近通过 .htaccess 强制所有页面为 HTTPS:

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

问题是我从 Facebook 调试器得到“检测到循环重定向路径”,因为原始 URL 是 https,但 og:url 是 http(所以我们不会丢失所有旧的喜欢),然后它得到一个 302 循环回到https。

如何使 Facebook 成为此 .htaccess 规则的例外?

4

1 回答 1

11

这个问题解决了 facebook 外部点击看起来像的用户代理。您只需要添加一个条件来检查它:

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit/[0-9]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
于 2013-10-03T17:05:02.997 回答