トラックバックがIISだとうまく動かない問題の解決方法です。
Movable Type のバージョンは 2.661 です。
IISでは、***.mt-tb.cgi/12345 という記述をオプションとして理解せず
「Fileがありません」というエラーとなってしまいます。
↓(こちらから)
#こばこうさんありがとう
1.MT\lib\MT\Template\Context.pm の修正
862c862
< $path . $cfg->TrackbackScript . '/' . $tb->id;
---
> $path . $cfg->TrackbackScript . '?tb_id=' . $tb->id;
875c875
< $path .= $cfg->TrackbackScript . '/' . $tb->id;
---
> $path .= $cfg->TrackbackScript . '?tb_id=' . $tb->id;
1712c1712
< $path . $cfg->TrackbackScript . '/' . $tb->id;
---
> $path . $cfg->TrackbackScript . '?tb_id=' . $tb->id;
2.MT\lib\MT\App\CMS.pm の修正。510-515行目あたり。
my $script = $app->{cfg}->TrackbackScript;
$param{tb_url} = $path . $script . '/' . $tb->id;
if ($param{tb_passphrase} = $tb->passphrase) {
$param{tb_url} .= '/' .
MT::Util::encode_url($param{tb_passphrase});
}
を
my $script = $app->{cfg}->TrackbackScript;
$param{tb_url} = $path . $script . '?tb_id=' . $tb->id;
if ($param{tb_passphrase} = $tb->passphrase) {
$param{tb_url} .= '&pass=' .
MT::Util::encode_url($param{tb_passphrase});
}
に変更。