18時26分59秒 [Web関連]
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件
コメント数: 0件