Mineaki Gotoh
gij****@peak*****
2002年 11月 6日 (水) 17:33:02 JST
こんにちは、後藤です。 osCommerceのWSやFSがらみでは、一応、一番苦労している人間だと自負して います(笑)。逆にその分、osCommerceのオリジナルバグであるWSやFSの誤 用をあちこち修正してしまっているので、もしかしたら、私のアドバイスだ とうまくいかないかもしれません。 > /home/shop/html/ が、http://www.xxxxx.com/~shop/ に相当します。 これが最初に書いてあれば、話は簡単でしたね。(でも、hamadaさんはちゃ んとその可能性を示唆していますし、私の勘が鈍いだけかもしれませんが) ユーザーモードの場合は、HTTP_*SERVER の方で記述します。 catalog/includes/configure.php admin/includes/configure.php ともに、 define('HTTP_SERVER', 'http://www.xxxxx.com/~shop'); define('HTTP_CATALOG_SERVER', 'http://www.xxxxx.com/~shop'); です。(HTTPS* も同様) > ちなみに define('DIR_WS_CATALOG', '../catalog/'); は > 最初に試してみてるんですが、(^^;ヾ > /home/shop/html../catalog/images/ になっていました。 ああ、そうでしたね。HTTP_CATALOG_SERVERで/~以下を指定した上で、 '/../catalog/'で相対アクセス可能です。 ……と、ここまで書いてようやく気づきました。 やっぱり、osCommerceのオリジナルバグ(とまでは言い過ぎかもしれませ んが…)が原因ですね。 以前、TEP-Jで、DIR_FS_CATALOG_IMAGES とするところを、 DIR_FS_DOCUMENT_ROOT . DIR_WS_CATALOG_IMAGES と表記してあるのはまずい だろう、という指摘をしたのですが、それとほとんど同じことが、 DIR_WS_CATALOG_IMAGES にもあったのです。(私の管理しているソースでは とっくに修正してありましたが、田村さんのソースを見る限りそのままなの で、報告もれのようです) DIR_WS_CATALOG_IMAGES を、tep_image() で呼び出す際、 tep_image(DIR_WS_CATALOG_IMAGES . (ファイル名) ...(1) tep_image(HTTP_CATALOG_SERVER . DIR_WS_CATALOG_IMAGES . (ファイル名) ...(2) の両方の呼び出し方があるんです。もしかすると、SSLか非SSLかを意識して あえて使い分けたのかもしれませんが、これだと、ユーザーモードでの運用 に不具合が出ます。 define('HTTP_CATALOG_SERVER', 'http://www.xxxxx.com/~shop'); define('DIR_WS_CATALOG_IMAGES', '/images/'); とした場合には、(1)がおかしくなりますし、 define('HTTP_CATALOG_SERVER', 'http://www.xxxxx.com'); define('DIR_WS_CATALOG_IMAGES', '/~shop/images/'); とした場合には、(2)がおかしくなります。(後者の場合は、他の相対パスも すべて /~shop をつける必要があります) これはバグだと思うので、田村さんの修正を待つのが本筋でしょうが、すぐ に修正するのであれば、 admin/categories.php admin/reviews.php admin/includes/functions/general.php にある、 tep_image(DIR_WS_CATALOG_IMAGES . (ファイル名) という部分を、 tep_image(HTTP_CATALOG_SERVER . DIR_WS_CATALOG_IMAGES . (ファイル名) に書き換えれば良いと思います。この場合、admin/includes/configure.php は、 define('HTTP_CATALOG_SERVER', 'http://www.xxxxx.com/~shop'); define('DIR_WS_CATALOG_IMAGES', '/images/'); がお勧めです。(他を修正しなくて良いので) これでうまくいくとは思いますが、もしうまくいかなかったらまたご相談下さい。 -- 株式会社PEAK ネットワーク技術担当 後藤 <gij****@peak*****>