MT4: PerlDynamicの適用とエントリのインポート完了

それなりにベータ版やRC版でテストをしていたつもりでしたが、最後には特大のトラップが色々と待っていたお陰で約半日完全に公開できない状態に陥っていた私たち夫婦のブログです。それでも何とかここまで来たので報告も兼ねてエントリ。

先ず話が早い方からですが、MT3.3のエクスポートデータって標準でタグ情報持っていないんですね…知らなかった…(´Д⊂ そんなわけでこれまでのタグ情報は綺麗サッパリ全部飛んでしまいました。これからの暇な時間はせこせこと過去のエントリにタグでも打ちますかね。

もう一点ですが、PerlDynamicの適用に関してです。今回もThe blog of H.Fujimoto:Perl版ダイナミック・パブリッシング(MT4用)にお世話になります。壱さんありがとうございます。プラグインの適用自体は全然問題無かったんですが、関連の箇所で引っかかったので覚書。

<$MTCGIPath$>が生成するパス

MTCGIPathはmt-config.cgiに記載されている変数CGIPathの値を持ってくるタグですが、別ドメインを被せていたりすると次のような現象が発生します。

例えば http://hoge.net をエイリアスとして http://foo.net/hoge に被せた場合、ブログのURL設定は http://hoge.net となりますが物理位置は ~foo/hoge みたいな感じになりますよね。この状態でMTCGIPathを呼び出すと生成されるパスが http://hoge.net/CGIPathの値 となってしまいます。

実際にMTを ~/foo/hoge/mt のように設置していれば何の問題もありませんが、 ~foo/mt というように設置している場合には指定のディレクトリに到達できなくなるので注意が必要です。私の場合はシンボリックリンクを張って解決しました。上記の例の場合だとこんな感じですね。

% ln -s ~foo/mt ~foo/hoge/mt

同じようなドメインの被せ方をしていて “キャッシュファイルのコピーに失敗しました” とか mt-dynamic.php の181行目で怒られたりする場合には確認してみては如何でしょうか。