石輪っぷり!
Movable Type と SSL
2007年6月 1日 1時31分 | コメント(2) | トラックバック(0)
※この投稿は180日以上前のものです。最新の情報とは異なる場合があります。
現在、MT で構築しているサイトで、またもや頭を悩ませる現象が・・・。
構築中のサイトではH.Fujimoto氏のメールフォームプラグインを使って、様々なフォームを SSL サーバーに設置するのですが、ページを表示すると「証明されていない内容が含まれています」という警告が出るのです。(IE では「このページにはセキュリティで保護されている項目と保護されていない項目が含まれています。」という警告が出て、ステータスバーに鍵が表示されない状態)
MT とメールフォームプラグインを使った SSL サイトは、この Willさんいんのサイトで実装していますが、この時の経験で formタグの actionプロパティで mt-mail-form.cgi へのパスを https:// で始まるカタチで書かなければならないのは分かっていました。しかし、今回(ホスティングサーバ)は別の要因があるようです。
これまでは専用サーバでしたので、通常ページが http://hogehoge.jp/ なら SSL ページは https://hogehoge.jp/ でした。
しかし今回は、SSL ページが https://***.***.jp/~hogehoge/ といったカタチになります。
数時間あれこれ調べ、悩んだ結果、<head>内に読み込む CSS や JavaScript のパスの指定方法が原因と判明しました。
今回は通常ページと SSL ページのホストネームが異なるわけですが、SSL ページに通常ページのパスで外部ファイルを読み込んでいました。
ブログが一つなら相対パスやホストネームからの絶対パスで指定すれば良いわけですが、今回も複数のブログを連携し、MultiBlogプラグイン と PHP を使って <head> 部分を共通ファイルにして構築していますので、相対パスは使えません。
ホストネームからの絶対パスなら上手くいきそうですが、ここで SSL ページのホストネームからの絶対パスで指定する必要があります。つまり、<link rel="stylesheet" type="text/css" href="/~hogehoge/css/import.css" media="screen,tv" /> という具合です。
通常ページは /css/impoet.css でもOKですが、SSL ページと共有するためには /~hogehoge/css/import.css としなければなりません。
# ここ数年、40年の人生の中で最も頭を使っています。
追記
Firefox では上記で OK ですが、IE ではページ内に表示する画像のパスも同様にしないとダメみたいですね。
トラックバック(0件)
- :

コメント(2件)
1. かねちく | 2007年6月 1日 8時57分
> # ここ数年、40年の人生の中で最も頭を使っています。
ここ数年のいしわっぷりさんの進化は、ホント凄いです!!
頭が下がります(__)
人間、やりたい事があれば、いくつになっても貪欲に頑張れるんでしょうね。
ん?!いしわっぷりさんのやりたい事だったのかどうかは微妙??
無理やりだったらごめんなさーいm(__)m
2. いしわ | 2007年6月 1日 11時32分
>かねちくさん
おぉぉ、これは「進歩」ではなく「進化」というんですね!?
うん、確かに腹は進化している。(爆
コメントする