WordPressでトラックバックが飛ばない問題について

トラックバックが飛ばないという問題について、うちのサイトの場合は次のような改善で解決しました。

[条件]

  • 専用サーバーである(ホスティングサーバーでない)。
  • サーバーはNAT(IPマスカレードを含む)越えのインターネット接続で、プライベートアドレスである。
  • サーバーのLAN側実ホスト名+ドメイン名がインターネット側ホスト名+ドメイン名と一致していない。
  • apacheのバーチャルホストを利用してインターネット側ホスト名+ドメイン名による外部からの問い合わせに応えている。

というケースです。特殊なケースかもしれませんが。。。

WordPressでは、どうやら、トラックバックを送ろうして、相手側サーバーから応答があった場合、こちらのサーバーのインターネット側ホスト名+ドメイン名を内部で解決しようとして失敗するみたいです。

誰にも迷惑をかけずに、サーバー内のDNSサーバーでゾーンファイルを作って自己解決するのもいいのですが、面倒なので、hostsファイルに書いて自己解決することができます。

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 svr01 localhost localhost.localdomain #実ホスト名(元々書き込まれている)
192.168.1.2 svr01.local.mydomain.com #LAN側実ホスト名+ドメイン名(元々書き込まれている)
192.168.1.2 mydomain.com #インターネット側ホスト名+ドメイン名を新たに書き込む

という感じです。

ちなみに、他の事例で書かれているように、.htaccessなどでphpのmbstringの内部エンコーディングはutf-8にすることや、php.iniでメモリを確保することなどは対処済みでした。

php_value mbstring.internal_encoding UTF-8 #httpd.conf又は.htaccess
memory_limit = 32M #php.ini