Movable TypeのURLでアンダーバーがハイフンに変換される

Movable Typeでページを生成する際、URLに含めているアンダーバーがハイフンに変換されてしまうということがあったので、対応方法をメモ。

サンプルコード

まずはアンダーバーがハイフンに変換されてしまう例を確認してみます。

ウェブページの場合

ウェブページのテンプレートで、アーカイブマッピングは以下のような設定になっています。

folder-path/page-basename.html

フォルダを「/test_page/」、ファイル名を「index.html」として、ウェブページの登録を行います。

これでページの再構築を行うと以下のようなURLになり、フォルダが「test_page」ではなく「test-page」で生成されてしまいます。

/test-page/index.html

記事の場合

同じように記事の場合も試してみます。
記事アーカイブのテンプレートでアーカイブマッピングは以下ように設定しています。

category/sub-category/entry-basename/index.html

カテゴリの出力ファイル名を「event_test」、記事の出力ファイル名を「sample_page」として記事を登録します。

再構築を行うと以下のようなURLになり、カテゴリと記事の出力ファイル名がアンダーバーからハイフンに変換されていました。

/event-test/sample-page/index.html

対応方法

上記のそれぞれの例でアーカイブマッピングを「カスタム」に変更するとわかりますが、ウェブページの場合は「%-c/%-f」、記事アーカイブの場合は「%-c/%-b/%i」という設定になっています。
それぞれの項目については公式のドキュメントを確認するとわかりますが、ハイフンに変換されている「%-c」や「%-b」などは separator=”-” が設定されていて、アンダーバーをハイフンに変換する設定になっているようです。

変換処理が行われないようにするには、「%-c」のかわりに「%c」、「%-b」のかわりに「%b」を使用するといいようです。

もしくはハイフンではなくアンダーバーで統一したいという場合には、「%-c」のかわりに「%_c」、「%-b」のかわりに「%_b」とするとハイフンをアンダーバーに変換するようになります。

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2025年10月
 1234
567891011
12131415161718
19202122232425
262728293031