Mineaki Gotoh
gij****@peak*****
2002年 11月 10日 (日) 17:38:33 JST
このツリーの皆様こんにちは。PEAKの後藤です。 かなり興味深く見ていたのですが、どうも判然としないですね。 とりあえず、うちは、HTTP用とHTTPS用で、ホスト名も違いますが、ちゃんと ログイン後に目的のページにredirectされています。(もちろん、ログイン してからブラウザで戻り、再度ログインボタンで入るとトップに飛ばされま すが、これは正常な動作です) ただ、こういうエラーは気持ちが悪いので、できるだけはっきりさせておき たいですね。不具合を再現できている方、よろしければご協力願います。 > NOSSL Site: http://aaa.com/shop/ > SSL Site: https://ssl.bbb.com/~aaa/shop/ > > このようになっていて、サーバ上のパスは同じ位置を指しています。 これは一般的な設定だと思いますが、DocumentRootはまったく同じパスです か? 下は安宅さんの書かれた文ですが、 > public_html, ssl_htmlというDirectoryがあり同じ位置をさしてます。 この場合、どちらかがシンボリックリンクなのでしょうか? > ちなみにうちでは、catalogのログイン時でもログインできないまま > TOPページにとばされる、という現象も出ています。 > IEからだと頻度は少ないですが、Netscape4.7やOperaからのアクセスだと > かなり起こります。 最初、これを見たときには、ブラウザ依存なのでクライアントサイドの問題 (SSLの実装など)かな、と思ったのですが、IEでも頻度が少ないなりに再現 されるということは、サーバーサイドである可能性が大ですね。 伊豆さんのケースでも、SSLを使わなければ、TOPページに飛ばされることは なくなりますか? 私自身、関係ありそうなソースを一通り精査してみたのですが、SSLだから、 という部分はそれほど見当たらないんですよ。だからこそ、SSLの場合だけ起 こるのであれば、修正点もぐっと絞れるのですが。 ちなみに、TOPページに飛ばされる、というのは、$navigationが正しく保存 されていなかった時の動作です。session_registerがきちんと働いているの であれば、セッションが切れるくらいしか原因が思い浮かばないのですが。 その場合、気になるのは、 catalog/includes/functions/html_output.php 47行目 tep_href_link()内 if ( (ENABLE_SSL) && ($connection == 'SSL') && ($add_session_id) ) { $sess = tep_session_name() . '=' . tep_session_id(); } elseif ($add_session_id) { $sess = SID; } ですが、SSLだとSIDを使えない理由って何かあるんでしょうかねぇ。このあ たりで、セッションが切れてもおかしくない気はしますが……。 今ふと思ったのですが、catalog/includes/configure.php の設定の問題とい う可能性も捨てがたいですね。 すみませんが、 HTTP_SERVER HTTPS_SERVER ENABLE_SSL DIR_WS_CATALOG DIR_FS_DOCUMENT_ROOT DIR_FS_CATALOG STORE_SESSIONS このあたりの定義も教えてください。もちろん、HTTP_SERVERなどは、匿名で構 いません。 -- 株式会社PEAK ネットワーク技術担当 後藤 <gij****@peak*****>