• 締切済み

相対パスか絶対パス??

CGIサイト内検索を設置したいと思っていますが、相対パスか絶対パスって言う言葉が出てきます。 (例)path/にはsearch.cgiまでの相対パスか絶対パスが入ります。 相対パス・絶対パスとは何でしょう? サーバーにあるホームディレクトリのフルパスとは違うのですか? もしフルパスと同じだと言った場合・・・ 「path/にはsearch.cgiまでの相対パスか絶対パスが入ります」ではフルパスが/home/hatenaだった場合は 下記にはどのようにはいるのでしょうか? (例)<form method="GET" action="path/search.cgi"> 再投稿ですが、もうチョット具体的に書いてみました 教えてくださいお願いします。

みんなの回答

回答No.3

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

uhb3111
質問者

お礼

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

回答No.2

相対・絶対パスの違いについて簡単に説明します。 絶対パスは、つまりは「http://」で始まるアドレスをいいます。 http://aaa.jp/aa/bb/cc/d.cgi という感じです。 これに対し相対パスは、ある.htmから見てd.cgiがどのフォルダにあるか、です。 例えば、フォルダ「bb」の中にフォルダ「ee」と「cc」があって「ee」中に「xx.htm」があるとすると、「cc」の中にある「d.cgi」は「../cc/d.cgi」になります。 「../」は一個上に戻るという意味です。 絶対パスがわかりやすくて無難です。

uhb3111
質問者

お礼

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

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

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など)では「/」の意味が違うので注意してください。

uhb3111
質問者

お礼

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

関連するQ&A