MovableTypeでダイナミック設定にしたブログを複製する方法
MovableTypeにおいて、運用中のブログを複製できる「ブログの複製」という機能があります。
このブログが通常のスタティック(静的)である場合は特に問題ありません。
ところが、ダイナミック(動的)モードにしている場合だと、ブログを複製してアクセスしても「ページが見つかりません」という表示が出て正常に表示することができなくなってしまいます。
サーバー側に作成されたディレクトリを見ても「mtview.php」が作成されているだけ…。
ダイナミックなブログの場合は「ブログの複製」だけでは正しく複製されません。
元のブログのディレクトリをコピーしよう
ダイナミックなブログを複製する場合は、コピー元のブログのディレクトリごとFTPソフト等を使ってダウンロードし、ディレクトリ名を新しいブログ用に変更してアップロードしてしまいましょう。
こうすることで、ダイナミックモードに必要な「.htaccess」ファイルや「templates_c」ディレクトリもコピーされます。
コピーしたファイルの各種設定をブログに合わせて変更する
コピーができたら、以下の手順に従ってファイルやフォルダの設定を変更してください。
1.「templates_c」ディレクトリのパーミッションを変更
「templates_c」ディレクトリはダイナミックページで利用するSmartyのコンパイルキャッシュファイルの格納先なので、パーミッション(権限)を変更して「777」にしましょう。
2.「.htaccess」ファイルを新ブログに合わせて変更
次に「.htaccess」ファイルを新しいブログに対応させるためのパス変更を行います。
例えば、新しいブログのURLが「http://www.example.com/members/」だった場合は以下のように変更します。
<IfModule mod_dir.c> DirectoryIndex index.php ...(中略)... default.asp /members/mtview.php </IfModule> ...(中略)... # passthrough query parameters RewriteRule ^(.*)(?.*)?$ /members/mtview.php$2 [L,QSA]
3.「mtview.php」ファイルを新ブログに合わせて変更
最後に「mtview.php」の内容も「.htaccess」ファイルと同じように新ブログに合わせて変更します。
このファイルで変更するのはブログIDです。 MovableTypeの管理画面で新ブログの管理ページを表示させたときにURLに「blog_id=(数字)」が付加されていて、この番号が新ブログのブログIDになります。 「blog_id=6」であればブログIDは6になります。
この番号を以下の箇所に入力します。 他の部分は変更しないでください。
$mt = MT::get_instance(6, '/path/to/mt/mt-config.cgi');
これであとは変更したファイルをアップロードすれば完了です。
2012-05-20