我有一个最近切换到HTTPS的网站。要将HTTP重定向到HTTPS,我在CloudFlare中创建了一个页面规则:
doubleprecision
这样做并且输入网站的HTTP版本会重定向到HTTPS版本。
然而,这一变化使该网站失去了原始HTTP版本的Facebook“喜欢”。
要解决此问题,我按了Facebook's "moving URLs" instructions并将http://www.domain.com/*
Always Use HTTPS
元标记添加到HTTPS网站,并使用原始HTTP域捕获原始赞:
og:url
但是,当重新抓取Facebook Sharing Debugger上的网站时,Facebook会给我一个错误说:
<meta property="og:url" content="http://www.domain.com"/>
我该如何解决这个问题?
答案 0 :(得分:2)
...旧的URL仍然使用Open Graph标签呈现文档 返回HTTP 200响应,至少在Facebook加载时 履带。如果您希望其他客户在访问时重定向 URL,您必须将301 HTTP响应发送给所有非Facebook抓取工具 客户端。旧URL应包含自己指向的og:url标记 本身。
即,Facebook Crawler仍然需要访问http://www.domain.com/,因此在CloudFlare级别重定向到HTTPS可能是个问题。
您可以尝试在网站的根目录下创建.htaccess文件,而不是在CloudFlare重定向到HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} !^on
RewriteCond %{HTTP_USER_AGENT} !(Facebot|facebookexternalhit/1.1) [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
如果有效,Facebook Crawlers会看到您网站的HTTP版本,其他所有人都会被重定向到HTTPS
祝你好运!