0

すべてのドメインにGoogle+ボタンを追加しようとしていますが、ボタンをクリックすると、Googleからエラーが返されます(警告の三角形の赤い感嘆符)

私はいくつかのことを試し、次のことを解決しました。

ボタンをクリックしてサイトを確認すると、Google+は私のサイトにアクセスしようとします。私のサイトはこの時点で失敗します。

これは、複数のドメインとクロスサイトセッションスクリプトが用意されているため、新しいドメインに最初にアクセスしたときにユーザーをセッションサーバーに転送してから、ユーザーを試行していたドメインに転送する必要があるためです。アクセスするために。

ユーザーを転送するには、PHP関数header( "Location:"。SESSION_SERVER);を使用しています。

Googleがリダイレクトを要求するヘッダーを取得すると失敗するため、私のサイトを+1できなくなります。

Google+検証ボットについて私が知っていることは、Cookieが有効になっておらず、標準のgoogle chromeユーザーエージェントを使用していることです(これが間違っている場合は修正してください)

解決策は、google +ボットを検出してリダイレクトしないようにすること、またはボットの検証プロセスを通過するサイトに干渉することなくリダイレ​​クトする方法を用意することだと思います。

(ああ、私がテストしているサイトはhttp://www.taxicode.comです)

4

1 に答える 1

2

少し前にこの問題を解決したので、解決策を投稿するのが適切だと思いました。

Google+ボットがサーバープロパティHTTP_X_GOOG_SOURCEを設定していることを発見しました。これにより、それを検出してリダイレクトを停止することができました。

PHPの場合:

if(isset($ _ SERVER ['HTTP_X_GOOG_SOURCE'])){

// Don't redirect

}

于 2012-09-27T14:55:20.437 に答える