【发布时间】:2018-11-25 17:16:59
【问题描述】:
我的博客https://sonicscoop.com 的旧帖子可以追溯到 2012 年,有数百个 Facebook“赞”,例如这个https://sonicscoop.com/2012/08/29/the-big-list-of-free-pro-tools-plugins-2/,但是当我们切换到https: 时,它们都失去了正确的计数。看这里:
由于某种原因,Facebook 的调试器将规范和 og:url 检测为 https://,即使页面呈现的 HTML 将它们显示为 http://。
如果我可以让 Facebook 为较旧的帖子选择 http 规范,我希望喜欢的人会恢复到正确的数量。这是我的.htaccess 文件:
# --enable htaccess rewrites
RewriteEngine on
# --force https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
# --remove www for site
RewriteCond %{HTTP_HOST} ^www\.sonicscoop\.com [NC]
RewriteRule ^(.*)$ https://sonicscoop.com/$1 [L,R=301]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
AddHandler application/x-httpd-php54s .php
【问题讨论】:
-
您是否有 htaccess 或其他重定向来强制执行 HTTPS?
-
@JustinR。我更新了问题以包括我的 htaccess
-
我很确定这是因为按钮代码将您的 URL 指定为 https...
<iframe src="https://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fsonicscoop.com请注意href查询字符串参数中的https。 -
您需要在您的 HTTP 到 HTTPS 重定向中为 Facebook 抓取工具实施豁免 - 否则,当它按照指示请求旧的 HTTP URL 时,您会告诉它“不,这已移至 @987654334 @” 之后,从而使您首先将其指向 HTTP 版本无效。 developers.facebook.com/docs/plugins/faqs#faq_1149655968420144
标签: php wordpress ssl facebook-graph-api facebook-like