WordPressを使って、gooブログへトラックバックをすると上手くいかないので調べてみました。
調べ方
- 自分のPCにWebサーバを用意して(AnHTTPD使用)
- 自分のWebサーバへトラックバックPingを送信する
- gooブログからのトラックバックと、Wordpressからのトラックバックを比較する
この方法で、比較しながら調べて原因がわかりました。
gooブログからのトラックバックには、HTTPリクエストに、User-Agentヘッダが付いていません。
Telnetで試してみるとUser-Agentの有無で、結果が変わるのが確認できました。正確には付いていても問題ないUser-Agentもあるのかも。とにかく除去したらOKになりました。
WordPress2.0.2では、wp-includes/functions.phpの900行目付近を以下のように修正しました。
修正前
$http_request .= 'Content-Length: '.strlen($query_string)."\r\n";
$http_request .= "User-Agent: WordPress/" . $wp_version;
$http_request .= "\r\n\r\n";
$http_request .= $query_string;
修正後
$http_request .= 'Content-Length: '.strlen($query_string)."\r\n";
//$http_request .= "User-Agent: WordPress/" . $wp_version;
//$http_request .= "\r\n\r\n";
$http_request .= "\r\n";
$http_request .= $query_string;
これで、gooブログにトラックバックしてみると、正常にトラックバックができました。
「WordPressからgooブログへのトラックバック」への2件のフィードバック