CGI-BBS > SO−HO > ショッピングバスケット > htmlとcgiファイルの位置が異なるパスの書き方は?


カレッヂ
カレッヂ


質問者 mino  投稿日 10/2(火) 18:28:09
ショッピングバスケットシステム・プロv5タイプを練習用として試用していますが、cargo.cgiが読みこむthanks.html(minicargo.html)が読みこめません、というエラーが出て途方にくれています。
サーバーはniftyです。ご承知のようにniftyではhtmlとcgiファイルの同居は禁じられていますので、cargo.cgiに書きこむパスを次のようにしました。
配布されたcargo.cgiの初期設定では$thanks = './thanks.html';となっていましたので、これを$thanks = '../../homepage/cgi/cart/thanks.html';と書き換えました。
なおcgiのディレクトリは/cgi-bin/cart/cart.cgiでhtmlのディレクトリは/homepage/cgi/cart/thanks.htmlです。
また試みに/homepage/へのURLで実行しましたが、当然のことのようにダメでした。この場合トップページに戻るはリンクのURLで支障ありませんでした。
更にhtmlとcgiファイルの同居が可能な他のサーバーではcargo.cgiの初期設定のままで全く不具合がありませんでしたので、パーミッションやその他のプログラムは正常と思っています。
結局今回のniftyでのトライでは最初からcargo.cgiが順調に機能しているのですが、最後の場面の送信のところでthanks.htmlが読みこめないのでなんとも悔しくて、途惑っています。
どなたかお助けマン(ウーマン)になってください。よろしくお願いします。
回答者 呑兵衛  [削除]  投稿日 10/2(火) 23:07:27
/homepage/
  |
  |----/cgi/
  |   |
  |   |-----/cart/
  |        |
  |        |--thanks.html
  |
  |----/cgi-bin/
       |
       |-- /cart/
          |
          |--cart.cgi

ならば、cart.cgi から見た thanks.html の位置は
../ 親ディレクトリ cgi-bin の
../ 親ディレクトリ homepage にある
サブディレクトリ /cgi/ の サブディレクトリ /cart/ の thanks.html
ポイントは cart.cgi の親ディレクトリを ./cart/ と間違えないように。
ということで
../../cgi/cart/thanks.html
質問者 mino  [削除]  投稿日 10/3(水) 05:19:46
呑兵衛さん、早速のご返事有難うございます。ツリー構造の詳細は次のとおりです。
ftp11.nifty.com
    |
    |----/homepage/
    |    |
    |    |----/cgi/
    |          |
    |         |----/cart/
    |            |
    |                |----thanks.html
    |
    |----/cgi-bin/
       |
       |----/cart/
          |
          |----cargo.cgi
            |----juchu.txt
                   |----
ということです。
再度お手数お掛けして申し訳ありませんが、cargo.cgiが読みこむthanks.htmlへのパスの書き方をご教示ください。よろしくお願いします。
なお、juchu.txtなどのテキストファイルはcargo.cgiに$juchu = './juchu.txt';の書き方で問題なく動作しますことを蛇足ながら追記しておきます。


回答者 呑兵衛  [削除]  投稿日 10/3(水) 21:12:14
cgi-bin と homepage がともにユーザディレクトリのサブディレクトリなら、

../homepage/cgi/cart/thanks.html
質問者 mino  [削除]  投稿日 10/4(木) 04:36:37
呑兵衛さん、お手数をお掛けしました。

相対パスの書き方をもう一つ勉強しました。

本当に有難うございました。

このページは終了したので返信(回答)は書きこめません

Web裏技