CGI-BBS > SO−HO > ショッピングバスケット > .cgi等と商品.htmlのフォルダに別々に設置したい。


カレッヂ
カレッヂ


質問者 nrf  投稿日 2006/5/13(土) 23:23:56
V5取扱説明書にある設置構成を取りたいのですが、契約しているサーバー側の設定で
「┣ /CGIが実行できる場所/ <755>」に商品.html等が設置できない状況です。
分けて設置することは可能でしょうか。
マニュアル以外のことを行う訳ですから、大変ご迷惑な質問であることは承知しております。
しかし上述の理由により、非常に困っております。
下記にその構成を行った結果です。
┣ /CGIが実行できる場所/ <755>
     ┃
          ┣ /tmp/ <777>
          ┣ cargo.cgi <755>
          ┣ hanbai.txt <644>
          ┣ jcode.pl <644>
          ┣ juchu.txt <644>

┣ /html、画像等を設置する場所/ <755>
          ┣ 各商品.html <644>
          ┣ minicargo.html <644> ... フレーム分割する場合 (sample2に入っています)
          ┣ thanks.html <644>

上述を設置、テストした結果とその対策をしてみました。

結果1:エラー cookieの設定を有効にして下さい 
↓
対策1:IEのクッキーを全て有効にする。
↓
結果2:全く変わらない
↓
対策2:上述の「┣ /CGIが実行できる場所/ 」<755>に商品.htmlを置き、本当に表示されないかテストしてみる。
↓
結果3:Internal Server Errorとなる。
↓
対策3:対策2で行った商品.htmlのパーミッションをいろいろ変更してみる。
↓
結果4:全く変わらない

以上のような状況です。
大変申し訳ございませんが、非常に困っております。
何か良いアドバイス、ご回答いただけますと助かります。
宜しくお願い申し上げます。

【プロバイダ】http://www.nakazawa-rf.com
【習熟度】多少の改造ができる

回答者 rescue  [削除]  投稿日 2006/5/14(日) 10:34:44
CGIとHTMLの分離設置は、本当は当方できちんと説明しておかなければ
ならないことですので、マニュアル不備で申し訳ありません。

ダウンロードしたファイルのsample2をそのまま分離設置するという前提で書きますので、
ご利用の環境やファイル名にあわせて読み替えてください。

CGIを設置する場所を cgi-bin 、HTMLを設置する場所を html とします。
それぞれをURLで書くと、

http://www.rescue.ne.jp/cgi/cargo5/sample2/html/index.html
http://www.rescue.ne.jp/cgi/cargo5/sample2/cgi-bin/cargo.cgi

のようになるとします。cgi-binとhtmlは同じ位置関係にありますが、
極端に違う場所でも構いません。

cgi-binには

/tmp/ <777>
cargo.cgi <755>
hanbai.txt
jcode.jp
juchu.txt
souryou.txt

を置きます。
htmlには

goods.html
goods1.html
index.html
minicargo.html
thanks.html

を置きます。

すべてのhtmlファイルのcargo.cgiを呼び出す記述を書き換えます。
たとえばindex.htmlの、
<frame src="cargo.cgi?CARGO=1" name="down" scrolling="no" noresize frameborder="no">
は
<frame src="../cgi-bin/cargo.cgi?CARGO=1" name="down" scrolling="no" noresize frameborder="no">
とします。これは、cgi-binとhtmlが同じ位置にある場合の相対設定ですので、
相対設定が分からない場合または次のように書いてもOKです。
<frame src="http://www.rescue.ne.jp/cgi/cargo5/sample2/cgi-bin/cargo.cgi?CARGO=1" name="down" scrolling="no" noresize frameborder="no">

goods.html
<FORM ACTION="cargo.cgi" METHOD=POST target="down">
↓
<FORM ACTION="../cgi-bin/cargo.cgi" METHOD=POST target="down">

<A HREF="cargo.cgi" TARGET="_top">詳細・ご注文へ</a>
↓
<A HREF="../cgi-bin/cargo.cgi" TARGET="_top">詳細・ご注文へ</a>

次に、cargo.cgiの設定です。htmlへリンクするものについては、

<A HREF="./">商品選択に戻る</A>
↓
<A HREF="../html/index.html">商品選択に戻る</A>
または
<A HREF="http://www.rescue.ne.jp/cgi/cargo5/sample2/html/index.html">商品選択に戻る</A>

$minicargo = './minicargo.html';
↓
$minicargo = '../html/minicargo.html';

$thanks = './thanks.html';
↓
$thanks = '../html/thanks.html';

<A HREF="./cargo.cgi">かごの中身</A>
のような、cgiを呼び出すものはそのままです。

以上は、
http://www.rescue.ne.jp/cgi/cargo5/sample2/html/
または
http://www.rescue.ne.jp/cgi/cargo5/sample2/html/index.html
でご覧いただけます。

もし、クッキーが効かない(カートに複数の商品が入らないなど)場合は
別の処方箋を書きますのでお知らせください。
質問者 nrf  [削除]  投稿日 2006/5/20(土) 17:46:01
本日無事設置することが出来ました。
丁寧なご回答をいただき、ありがとうございました。

返信(回答)する

 


Web裏技