2012-05-13 8 views
0

私はサイトhttp://Meer.liを作成していますが、Facebookのデバッガを通して実行したときに - http://developers.facebook.com/tools/debug/og/object?q=meer.li - 私のメタタグを見つけることができません。Facebookデバッガは私のサイトをこすらないでしょう

私はFacebookの擦り傷の原因を調べると、私のサイトの切り捨てられたバージョンを示しています。ここでは、doc-typeが変更されており、メタタグはありません。http://developers.facebook.com/tools/debug/og/echo?q=http%3A%2F%2Fmeer.li%2Fです。

私はここで間違っていますか?

私はrails 3.2、ruby 1.9.3を実行しています。全部がmongoデータベースでHeroku上で実行されています。

編集

私が権利を持っていないようだ私のアプリでは、ヘッダーを受け入れる...私は別のビューでこれを行う場合:

<%= request.headers["Accept"] %> 

私が取得:

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 

curl -Hと正しいヘッダーを使用すると、サイト全体を削り取ることができるのはなぜですか?なぜfacebookは私のサイトを掻きませんか?

答えて

2

あなたのURLをデバッガで試してみると、レスポンスステータスコードは "Partial Content"を意味する206です。

私はURLをカールしようとしましたが、実際に私が得た応答が部分的である、それはのHTML、頭と体タグ(またはその終了タグ)を含まない、と

$("#designs_content").append 
に包まれたHTMLのJSONP応答のように見えます

なぜそれが起こるのか分かりません。多分あなたのサーバはリクエストと応答のユーザエージェント文字列をチェックします。これはHerokuのとは何かを持っている場合


編集

私はわからないんだけど、私は彼らと一緒に働いたことがありません。 また、私はレールについて何も知らないので、私はそれを手伝ってはいけません。

Wgetはこれとは関係がありません.WgetはHTTPリクエストのヘッダーに基づいてWebサーバーから返される応答です。 ブラウザを使用してリクエストを行うと、リクエストにいくつかのヘッダーが追加され、サーバーがいくつかのことを把握するのに役立ちます。 firebugや開発者のツールをchrome(safariなど)、ネットワークタブ(すべてのものがあります)、またはネットワークスニファを使用して開くと、送信されたヘッダを表示できます。

あなたのための人生を容易にするために、私はあなたのために、この問題の原因ヘッダー何がチェック... はこの試してみてください。

curl "http://meer.li/" 

をそして、あなたは応答はJSONPであり、ではないことがわかりますhtmlページ全体

curl -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" "http://meer.li/" 

をそして、あなたはあなたのページの完全なHTMLバージョンを取得します: 今これを試してみてください。

あなたのページをスクラップすると、「受け入れ」ヘッダーが送信されないので、ブラウザを使用してソースを表示したときのレスポンスは表示されません。

あなたの特定の設定については確かに何か問題があるので、どのように解決できるかはわかりませんが、少なくとも問題の内容はわかっています。

+0

うーん... ok。これはどういう意味ですか?私はアプリケーションでwgetを使用していません。それはHerokuでホストされていることと関係がありますか?私はjsonとしてサイトを送信しています(http://meer.li/designs/featured.json)...それと何か関係がありますか? –

+0

私は私の答えを編集しました、それはコメントのためには長すぎます –

+0

非常にクールです。この助けをありがとう。大変感謝しています。ヘッダーがどこに定義されるのか教えてください。それは私が探しているはずのサーバなのか、私のアプリの何か?ヘッダーについてはどこでもっと読むことができますか?再びありがとう:-)。 –

関連する問題