我有一个最近切换到HTTPS的站点。要将HTTP重定向到HTTPS,我在CloudFlare中创建了一个页面规则:
http://www.domain.com/*
Always Use HTTPS
这可行,输入站点的HTTP版本会将其重定向到HTTPS版本。
但是,此更改使该站点失去了原始HTTP版本的Facebook“赞”。
为了解决这个问题,我按照Facebook的“移动URL”说明进行操作,并将og:url
meta标签添加到具有原始HTTP域的HTTPS站点中,以捕获原始的Likes:
<meta property="og:url" content="http://www.domain.com"/>
但是,在Facebook Sharing Debugger上重新抓取该网站时,Facebook给我一个错误,说:
Could Not Follow Redirect Path
Using data from https://www.domain.com/ because there was an error following the redirect path.
Could Not Follow Redirect
URL requested a HTTP redirect, but it could not be followed.
我怎样才能解决这个问题?
在Facebook的文档声明
...旧的URL仍然呈现带有Open Graph标签的文档,并至少在由Facebook的爬虫加载时返回HTTP 200响应。如果您希望其他客户端在访问URL时进行重定向,则必须将301 HTTP响应发送给所有非Facebook搜寻器客户端。旧网址应包含指向自己的og:url标记。
也就是说,Facebook抓取工具仍然需要访问http://www.domain.com/,因此在CloudFlare级别重定向到HTTPS可能是一个问题。
除了尝试在CloudFlare处重定向到HTTPS之外,您还可以尝试使用以下方法在网站的根目录下创建.htaccess文件:
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
祝你好运!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句