• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SSLに設置したらディレクトリパスになってしまう。)

SSL設置時のディレクトリパスの問題と解決方法

このQ&Aのポイント
  • SSL設置時にディレクトリパスが変わってしまい、リンクが正常に機能しない問題が発生しています。
  • これは、plaincartのconfig.phpの一部による設定が原因であり、SSLディレクトリのパスにリンクがなされるためです。
  • 解決策としては、config.phpの記述を正しく修正することで、SSL設置時でもリンクが正常に機能するようになります。

質問者が選んだベストアンサー

  • ベストアンサー
  • NARH
  • ベストアンサー率82% (88/107)
回答No.1

共有SSLだからだと思います。 #独自ドメインと共有SSLで $_SERVER['DOCUMENT_ROOT']ずれてしまっているんじゃないかと。 とりあえず安直的な対策方法として $thisFile = str_replace('\\', '/', __FILE__); $docRoot = $_SERVER['DOCUMENT_ROOT']; /* 共有SSL対策に以下1行を追加*/ $sslRoot = '/export/usr/home/ex********/ssl_html'; /* 共有SSL対策で修正 */ //$webRoot = str_replace(array($docRoot, 'library/config.php'), '', $thisFile); $webRoot = str_replace(array($sslRoot, $docRoot, 'library/config.php'), '', $thisFile); $srvRoot = str_replace('library/config.php', '', $thisFile); define('WEB_ROOT', $webRoot); define('SRV_ROOT', $srvRoot); のようにしてはどうでしょう。 ハードコーディングが入ってしまうので、メンテナンス性が悪いですが

tansansooda
質問者

お礼

ご回答、誠にありがとうございます。できました! ex**********は必要のようでしたので 自分では到底考えられませんでしたが、 NARH様に頂いた式を参考にさせて頂き、 下記のように $ssslRoot = '/ssl_html'; を追加してすべて解決致しました。素晴らしいです。 何日もあれこれいじりましたが分からなかったので大変助かりました。 本当にありがとうございます。 又何かありましたら是非よろしくお願い致します。 $thisFile = str_replace('\\', '/', __FILE__); $docRoot = $_SERVER['DOCUMENT_ROOT']; $sslRoot = '/export/usr/home'; $ssslRoot = '/ssl_html'; $webRoot = str_replace(array($sslRoot,$ssslRoot,$docRoot, 'library/config.php'), '', $thisFile); $srvRoot = str_replace('library/config.php', '', $thisFile); define('WEB_ROOT', $webRoot); define('SRV_ROOT', $srvRoot);

関連するQ&A