プログラミング

MovableTypeでは、いちいち再構築して静的HTMLファイルを作成する時間、手間を省くために、「ダイナミック・パブリッシング」という、動的生成モードを用意している。

「設定」→「公開」で選択できるんだけど、これがうまく動作しないサーバーもある。例えばこのサイトが設置されている、さくらサーバーのライトだと、そもそもphpが動かないのでこれができない。できないのに「設定」でダイナミック・パブリッシングを選択するとどうなるか…。

500 Error

である。しかも設定画面どころかサイト全体がエラーで表示されない状態になるので、設定を元に戻そうにもどうにもできない! 困った!

「まさか、今までの記事とか全部パアなのか…!」と2分ほどパニックになった後、サイト全体が表示されないことから、ルートディレクトリにおかれている「.htaccess」に問題があることに気付く。

そもそも、このダイナミックパブリッシングは、動的に生成される記事を、mod_rewriteを使ってStaticなURLを作成する機能のようなので、.htaccessを削除すれば問題ない。

僕はたまたま.htaccessを他の目的のために置いていたから発見が遅れたが、.htaccessは、このダイナミックパブリッシングモードを選択したときにMTが自動生成するものなので、使わない場合は削除して全く問題がない。

結論:ダイナミック・パブリッシングを設定したらエラーで動かなくなった場合、ルートディレクトリにある.htaccessを削除せよ!

ちなみにこの現象、ブログ記事をアップするフォルダとMTのインストールフォルダが同一階層の場合に発生する。MTをブログのドキュメントルートフォルダに置いてなければ、ただブログが表示されなくなるだけですむ。

(櫻木)