さくらインターネットの共有SSLを使って、XOOPSの問い合わせモジュールだけをSSL対応させる。
1)「mainfile.php」の修正
以下の記述でHTTPとHTTPSのURL定義を定め、「XOOPS_URL」定数にあてはめる。
// define(‘XOOPS_URL’, ‘http://www.hogehoge.jp’);
define(‘HOGE_URL’, ‘http://www.hogehoge.jp’);
define(‘HOGE_SSL’, ‘https://hogehoge.sakura.ne.jp’);
if(ereg(‘^/modules/inquiry/’, $_SERVER[‘REQUEST_URI’])){
define(‘XOOPS_URL’, HOGE_SSL);
}else{
define(‘XOOPS_URL’, HOGE_URL);
}
2)SmartyにHTTPとHTTPSのURL定義を追加
「class/template.php」の記述に追加
$this->assign(array(‘xoops_url’ => XOOPS_URL,
‘xoops_rootpath’ => XOOPS_ROOT_PATH,
‘xoops_langcode’ => _LANGCODE,
‘xoops_charset’ => _CHARSET,
‘xoops_version’ => XOOPS_VERSION,
‘xoops_upload_url’ => XOOPS_UPLOAD_URL,
‘hoge_url’ => HOGE_URL,
‘hoge_ssl’ => HOGE_SSL
));
3)テーマの記述を修正
テーマの中で、<{$xoops_url}>で記述されていたリンク部分を<{$hoge_url}>に変更、問い合わせ(inquiry)モジュールへのアクセスのみ<{$hoge_ssl}>とする。
画像へのリンクについてはそのまま<{$xoops_url}>とする。
また、テーマだけでなく各ブロック内などで画像のリンクをフルパスで直記述している場合は、「暗号化されているページと・・・・混在している」とかいう警告メッセージがでるので、ここの辺も直しておくこと。
4)メインメニューのブロックを修正
問い合わせの時だけSSLへ飛ぶように修正する。