Movable Type 5.0x (MT5) 環境でPerl版ダイナミックパブリッシングを使っているときに起きた件のメモ。

レンタルサーバのhetemlやサクラサーバで管理画面と実公開サイトが別ドメインにしていると起こるみたい。
レンタルサーバのマルチドメインの影響かな?詳しい原因はイマイチ不明ですがソースを少しいじると対応できました。

ソース読んでみるとPHPの実行時にソケットオープンして特定のCGIを読み込んでいるのですが、そこのパスが相対パスだとどうも404 Not Foundになっているようです。ですが、httpから始まるURLで記述したら大丈夫のようです。

修正箇所

(MTインストールパス)/plugins/PerlDynamic/tmpl/mt-dynamic.tmpl

変更箇所79行目あたり

    $req = "<$MTCGIRelativeURL$>plugins/PerlDynamic/mt-perl-dynamic.<$MTGetSystemConfig name="dp_cgi_ext"$>";

↓↓↓↓↓

    $req = "http://<$MTCGIHost$><$MTCGIRelativeURL$>plugins/PerlDynamic/mt-perl-dynamic.<$MTGetSystemConfig name="dp_cgi_ext"$>";

既に導入しているブログに関してはインデックステンプレートのmt-dynamic.phpも変更が必要の場合もあります。
生成されたmt-dynamic.phpが変更されてない場合はチェックしてみてください。