Movable Type でサブドメインを利用する場合の設定
インストールした Movable Type で複数のブログを作成し、各ブログに異なるドメインを設定した場合の対処方法です。
以前質問を頂いたので、情報展開しておきます。
結論から申し上げますと、mt-config.cgi のパスを変更する必要があります。
インストール後の mt-config.cgi の CGIPath(アプリケーションディレクトリを示す)と StaticWebPath(スタティックディレクトリを示す)のパスは、次のようなドキュメントルートからの記述になっています。
#======== REQUIRED SETTINGS ==========
CGIPath /cgi-bin/mt/
StaticWebPath /cgi-bin/mt/mt-static/
本来のドメインが
foo.com
である場合、mt.cgi のパスは
http://foo.com/cgi-bin/mt/mt.cgi
となりますが、サブドメイン sub.foo.com では、mt.cgi のパスを
http://sub.foo.com/cgi-bin/mt/mt.cgi
と認識してしまい、(サブドメインの物理パスはドメインと異なるため)CGI が正常に動作しません。これはドメインの部分に、ブログの「サイトパス」を結合しているのが原因です。
ということで、サブドメインなど、本来のドメインと異なるドメインから、正しいアプリケーションディレクトリやスタティックディレクトリを参照させるには、FTP ツールで mt-config.cgi をダウンロードして、CGIPath と StaticWebPath をそれぞれ、
CGIPath http://foo.com/cgi-bin/mt/
StaticWebPath http://foo.com/cgi-bin/mt/mt-static/
と、ドメインを加えた URL に書き直す必要があります。
実際に、ページに出力されて影響がある部分は、CGIPath については、いわゆるCGI(コメント・トラックバック・検索・XMLRPCなど)の起動部分や、mt.js が該当します。
StaticWebPath(mt-static)については、デフォルトテンプレートでは、クレジットバナーやフィードアイコンなどへの参照があるようです。
デフォルトテンプレートのテーマファイルの参照は、MTStaticWebPath タグが使われているので、この変更ですべて対処されると思ってますが、他にも適用箇所があるとか、プラグインとかで対処できるといった認識誤りがありましたらご指摘ください。

