2016-07-13 6 views
2

最近、HTTPSに切り替えられたサイトがあります。 HTTPSにHTTPをリダイレクトするには、私はCloudFlareの中のページのルールを作成しました:CloudFlareページルールを使用してHTTPSにリダイレクトするときにFacebook Sharing Debuggerでエラーが発生する

http://www.domain.com/* 
Always Use HTTPS 

これが機能すると、サイトのHTTPのバージョンを入力すると、HTTPSバージョンにリダイレクトします。

しかし、この変更により、元のHTTPバージョンのFacebook「Likes」が失われました。

<meta property="og:url" content="http://www.domain.com"/> 

しかし、Facebook Sharing Debuggerのサイトを再こするとき:私はFacebook's "moving URLs" instructionsに続き、オリジナルの同類を捕捉するために、元のHTTPドメインとHTTPSサイトへog:urlメタタグを追加した、ことを修正するには

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. 

どうすればこの問題を解決できますか?

答えて

2

Facebook's docs状態

その...古いURLはまだオープングラフタグで文書をレンダリングし、Facebookの クローラによってロードされ、少なくともとき は、HTTP 200応答を返します。別のクライアントが URLにアクセスしてリダイレクトするようにするには、Facebook以外のすべてのクローラ クライアントに301 HTTP応答を送信する必要があります。古いURLには、 自身を指すog:urlタグが含まれている必要があります。

すなわち、http://www.domain.com/はまだ問題があるかもしれないので、CloudFlareのレベルでHTTPSにリダイレクトする、Facebookのクローラからアクセスできる必要があります。代わりに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のクローラがサイトのHTTPのバージョンを見るであろうし、他の人はHTTPSにリダイレクトされます

幸いです!

関連する問題