MovableType4でアーカイブマッピングが変更できない件の覚え書き

 MovableType4.1ではデフォルトで、ファイル名が「hoge-fuga.html」とハイフンで生成されます。今までは「hoge_fuga.html」のようにアンダースコア区切りだったので、このまま再構築してしまうと、過去のページのURLが変わってしまい、外部サイトからリンクされている場合などに不都合が生じます。

 通常、この設定はアーカイブテンプレートで「ブログ記事」の「アーカイブマッピング」の設定をいじることで変更できるのですが、なぜか「yyyy/mm/entry_basename.html」を選んで「保存」を押すとエラー(Bad Request)になってしまいます。ブラウザを変えてもダメ。

 このままではいつまでも全再構築ができないので、MySQLで直接データベースを書き換えるという暴挙に出ました。おそらく、テンプレートを初期化した場合などにも再度設定が必要になると思われるので覚え書きしておきます。

 まず、MT管理画面で該当の設定画面を呼び出します。個別記事の場合、MT4では「ブログ記事」というアーカイブテンプレートが相当するようです。そして、この時のURIを見て、 テンプレートのID番号を探ります。

https://…/cgi-bin/mt/mt.cgi?__mode=view&_type=template&id=265&blog_id=7

 で、MySQLのコマンドラインツールで、

update mt_templatemap set templatemap_file_template=’%y/%m/%f’ where templatemap_template_id=’265′;

というSQLを発行します。 「%y/%m/%f」というのは、管理画面のソースから読み取りました。

 ターミナルでログインできるサーバーか、DB編集ユーティリティの提供されているレンタルサーバー等でしか使えない技ですが、ご参考までに。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)