プロが教える店舗&オフィスのセキュリティ対策術

CGIサイト内検索を設置したいと思っていますが、相対パスか絶対パスって言う言葉が出てきます。

(例)path/にはsearch.cgiまでの相対パスか絶対パスが入ります。

相対パス・絶対パスとは何でしょう?

サーバーにあるホームディレクトリのフルパスとは違うのですか?

もしフルパスと同じだと言った場合・・・

「path/にはsearch.cgiまでの相対パスか絶対パスが入ります」ではフルパスが/home/hatenaだった場合は

下記にはどのようにはいるのでしょうか?


(例)<form method="GET" action="path/search.cgi">

再投稿ですが、もうチョット具体的に書いてみました
教えてくださいお願いします。

A 回答 (3件)

2です。



絶対パスが無難なので、フルパスが「/home/hatena/search.cgi」ならば
<form method="GET" action="http://www.aaa.aa/hatena/search.cgi">ではないでしょうか。
「/home」の直下がwwwルートだった場合。
    • good
    • 0
この回答へのお礼

重ね重ねお礼申し上げます。

お礼日時:2008/03/18 10:00

相対・絶対パスの違いについて簡単に説明します。



絶対パスは、つまりは「http://」で始まるアドレスをいいます。

http://aaa.jp/aa/bb/cc/d.cgi

という感じです。

これに対し相対パスは、ある.htmから見てd.cgiがどのフォルダにあるか、です。

例えば、フォルダ「bb」の中にフォルダ「ee」と「cc」があって「ee」中に「xx.htm」があるとすると、「cc」の中にある「d.cgi」は「../cc/d.cgi」になります。
「../」は一個上に戻るという意味です。

絶対パスがわかりやすくて無難です。
    • good
    • 1
この回答へのお礼

ありがとうございました。参考にさせて頂きます。

お礼日時:2008/03/18 09:59

CGIとhtmlでのパス指定を混同されているように思えます。



>下記にはどのようにはいるのでしょうか?
>
>(例)<form method="GET" action="path/search.cgi">

htmlではフルパス(サーバパス)は使えません。絶対パス(いわゆる「/」から始まるパス)はドキュメントルート(そのURLのTOP位置)になります。

(ex.)
  http://example.com/aaa/index.html の中で /aaa.cgi と指定したら http://example.com/aaa.cgi を表します。

 逆にCGI(Perl)の中ではドキュメントルートからの指定は使えません。「/」から書き始めればフルパス(サーバパス)です。ブラウザが解釈するhtmlとサーバが解釈するCGI(Perlやphpなど)では「/」の意味が違うので注意してください。
    • good
    • 0
この回答へのお礼

ご解答ありがとうございました。もうチョット勉強します。

お礼日時:2008/03/17 18:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!