Movable Type のディレクトリ

Movable Type のディレクトリ

カスタマイズする際の外部ファイル(JavaScript等)のアップロードで配置するディレクトリに戸惑う方が少なくありません。「どこにアップロードすればよいのでしょうか」という質問も時々頂きます。
その問題が解消されるかどうか定かではありませんが、改めてディレクトリについてまとめてみました。文中でパスディレクトリの表現が混在していますがあまり気にしないでください。厳密にはファイル名を含むのが「パス」のようですが、Movable Type の画面ではディレクトリを「パス」と表現しているようです。

CGIPath
適切な名称がありませんので mt.cfg の名称を使います(記事の中でも好んで用いています)。端的に言うと、各CGIスクリプトを配置するディレクトリです。レンタルサーバでは cgi-bin というディレクトリ名が付与されています。
このディレクトリには cgi ファイル(mt.cgi/mt-comment.cgi/mt-tb.cgi 等)と、CGIスクリプトを実行するために必要なライブラリのディレクトリ(下記)が配置されます。

extlib/
lib/
php/
plugins/
schemas/
search_templates/
tmpl/
tools/

ブラウザから閲覧できるファイルはここには存在しません。JavaScript 等の外部ファイルをここに配置することはありません。また CGIPath は Typekeyの登録URLとしても使われます。index.html があるURLを Typekey登録画面で登録されても Typekey は正常に動作しませんのでご注意ください。
このディレクトリはMT変数タグで

<$MTCGIPath$>

と表現されます。

ローカル・サイト・パス
index.html が配置されるディレクトリです。「ローカル・サイト・パス」は管理画面の基本設定の項目名で使われているので、当サイトではこの名称を好んで使っています。各インデックス・テンプレートを再構築した際に生成されるファイル(index.html/styles-site.css 等)がこのディレクトリに配置されます。カスタマイズ等で外部ファイルをアップロードする際には必ずこのディレクトリにアップロードしてください(プラグインファイルは除外)。
このディレクトリはMT変数タグで

<$MTBlogSitePath$>

と表現されます。これをURLにしたものが

<$MTBlogURL$>

です。

レンタルサーバではCGIスクリプトを特定のディレクトリでしか実行できないように制限していますが、そのような環境設定でない場合、例えば自宅サーバ等ではこのディレクトリにCGIスクリプトを配置して動作させることも可能です。とういか私は当初そのような使い方をしていたため、レンタルサーバご利用者の方に随分わかりにくい説明をしていました。

アーカイブ・パス
管理画面で「ローカル・アーカイブ・パス」と書かれているディレクトリです。再構築されたアーカイブ・テンプレート(カテゴリー・アーカイブ/日付アーカイブ/個別エントリーアーカイブ等)がここに生成されます。デフォルト設定では、ローカル・サイト・パスに archives というディレクトリを作るように仕組まれています。
このディレクトリのURLはMT変数タグで

<$MTBlogArchiveURL$>

と表現されます。

StaticWebPath
これもいい名称がありませんので mt.cfg の名称を使います。これは管理画面の表示に使われる

styles.css
mt.js
images/
docs/

を配置するためのディレクトリです。mt.cfg で設定する際はドキュメントルートからの指定になります(かつ前後を "/" で括る)のでご注意ください。
このディレクトリが必要な理由ですが、そもそも CGIPath は Apache の ScriptAlias で設定されたディレクトリで、このディレクトリに配置されたファイルは常にCGIスクリプトとして認識されるため、他のファイルやディレクトリを配置しても正常に振舞うことができないためです。ローカル・サイト・パスに配置しても構わないのですが、本来の使用目的から考えると専用のディレクトリに置いた方が好ましいでしょう。
このディレクトリはMT変数タグで

<$MTStaticWebPath$>

と表現されます。

関連記事
トラックバックURL


コメント

いつも大変お世話になっています。少し教えて頂きたいのですが各カスタマイズの説明などでよくエントリー内にソースを枠などで囲んで表示されているのはどのようにすれば表示できるのでしょうか?ソースを直接MTの管理でエントリーの内容欄に書き込むと表示されないので。また、MTの管理でエントリー内容欄に簡単に書き込むようなカスタマイズ(ツール)などはないのでしょうか?いつもながら初歩的な質問ですみません 宜しくお願いします。

[1] Posted by panser : October 18, 2005 8:00 PM

>panserさん
こんばんは。
こちらこそお世話になります。
ご質問の件はすでに解決されたようですが、新たに本文に引用をつけるを書いてみましたのでご参考になれば幸いです。

以上です。
それではどうぞよろしくお願い致します。

[2] Posted by yujiro : October 21, 2005 1:02 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)