にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:24:02.

Movable Type ファイル名の再現は無理…?

Movable Typeのバージョンが3.2未満の場合、ブログの全データをエクスポートしてからインポートし直すと、エントリのファイル名がごっそり変わっちゃう可能性があります…。ちょっとマズいです…。

Movable Type 3.2未満までは、エントリのファイル名を自分で決定できません。エントリのタイトルから自動的にファイル名が決定されてしまいます。エントリが英語だけで構成されている場合は、問題にはなりません。例えば、エントリのタイトルが「Movable Type」だったとしたら、そのエントリのファイル名は movable_type.html となります。この場合、何度エクスポート/インポートを繰り返しても、ファイル名は同じです。

しかし。エントリのタイトルが日本語の文字列だった場合に困ります。Movable Typeでは、エントリのタイトルにあるアルファベットや数字以外の文字列を無視します。もし、日本語文字しかないタイトルだったら、post123.html のような、「post」+連番の番号が付いてしまいます。
このままだと、途中で削除したエントリがあった場合に、番号がずれてしまいます。

で、私はそんなファイル名は嫌だったので、エントリを最初に保存するときには、わざと英語でタイトルをつけています。そうすると、その英語を元にファイル名が生成されます。その直後に、タイトルを日本語に書き換えます。1度エントリのファイル名が決定されれば、何度修正してもそのファイル名が変わることはありません。(全体を再構築しても。)

しかし。

Movable Typeのエクスポート機能では、エントリのファイル名まではエクスポートされません。だから、もし、バックアップとしてエクスポーとしておいたブログのデータを使って、新環境なんかに同じ構造のブログを再構築すべくインポートしても、ファイル名はインポート時に再度考え直されるので、(既に英語で作ったタイトルはなくなっているのだから)デフォルトの post123.html のようなファイル名になっちゃうのですね…。

それ、かなりマズいような…。
今は、データベースも正常に動いてるので問題ありませんけど、もし何か問題が起こったとして、バックアップから復元しないといけない!という事態になっても、元通りには戻らないってことですよね…。
ひいい。

まあ、ファイルは静的に生成されているのだから、その静的に生成されたファイルのバックアップも取っていれば、「既存のエントリ」に関してはそのままの状態で提供し続けることは可能ですけど。(ただし、コメントやトラックバックは受け付けられないし、テンプレートの変更も反映されませんが。)

むう。

どうしたもんかなあ。
このエクスポート/インポート作業、データベースの種類を「Berkeley DB」から「MySQL」に変更したい!という場合にも行う必要があるらしい。
今のままだと、その作業すら難しい(現実的でない)なあ…。

旧URLから新URLへのリダイレクトを .htaccess ファイルにずらずらっと書くという手もあるようだけど。(ファイル名が変更されても、とりあえず、検索エンジンからのアクセスは逃さない。)

===(追記)===
Movable Type 3.2でも、やはり自分でファイル名を設定した場合には、同様の問題が起こるらしい…。
Movable Type の個別記事の Permalink は、デフォルトの設定のままだと Export 時に失われる(@hxxk.jp)
◆参考リンク:EntryIDを強引にKeywordsにする(2)

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---