印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
MovableType サイトとアーカイブの URL 設定

2004年6月28日追記: この方法は危険なことが分かりました。アーカイブ URL に「http://」を含めないと、トラックバック ping の際に自サイトの URL を「http://archives/000172.html」として送ってしまいます。他サイトに迷惑になるため、非常に危険です。

Apache を SSL 対応に すると、ウェブログも当然 SSL を通してブラウズできるようになる。しかし、MovableType の推奨設定では、サイトとアーカイブの URL の設定に「http://」を含めるようになっているため、リンクを辿ると強制的に HTTP プロトコルになってしまう。色々試した結果、アーカイブの URL には「http://」を含めないということで落ち着いた。

■ ■ ■

MovableType の編集メニューにあるウェブログの設定では、「サイトの URL」の例として「http://www.site.com/」、「アーカイブの URL」の例として「http://www.site.com/archives/」があがっている。テンプレートの中では、サイトの URL は <$MTBlogURL$>、アーカイブの URL は <$MTEntryLink$> など(他多数)のプリフィックスとして参照される。

このサイトでは、例にならって次のように設定していた。

サイトの URL: http://nlogn.ath.cx/
アーカイブの URL: http://nlogn.ath.cx/archives/
しかし、この設定では、リンクを辿ると http に強制的に変えられてしまう。

そこで、どちらも「http://」を含めないように設定してみる。

サイトの URL: /
アーカイブの URL: /archives/
すると、サイト内では完結する。http でアクセスを始めれば、ずっと http のままになり、https でアクセスを始めれば、それ以降 https のままでアクセスが可能となった。しかし、問題があった。自動生成される RSD や RSS においてサイトの URL が「/」になってしまうのである。

アーカイブの URL を「/archives/」と設定するのはよいようだ。画像をアップロードした際に設定されるパスにも反映されるため、ウェブログのポータビリティの向上につながる。ウェブサイトを引っ越すことを想定すると、画像の URL にサイトの URL が含まれていることは好ましくないので丁度よい。

問題は「サイトの URL」として何を設定するかである。考えられる方法は次の2つ。1つは、

サイトの URL: /
として、RSD, RSS 1.0, RSS 2.0 の <$MTBlogURL$> の代わりに http://nlogn.ath.cx/ という URL を直書きする方法。もう1つは、
サイトの URL: http://nlogn.ath.cx/
として、RSD, RSS 以外のテンプレートの「<$MTBlogURL$>」を「/」で置き換えることである。

テンプレートの汎用性を考え、後者を選択した。


2004年6月16日追記:

アーカイブの URL: /archives/
とすると、RSS フィード用のファイルに問題が出ることが分かった。<link> 等の URL が「/archives/」で始まってしまうのである。RSS フィード用テンプレートも同時に修正してやる必要がある。

Posted by n at 2004-05-24 23:14 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?