URLの相対パスとフォルダの相対パス
URLの相対パスは、ドキュメントルート配下でHTMLファイルがあるところからの相対で、WEBアクセスを記述する場合に使用します。
フォルダの相対パスは、たとえば、cgi-binの実行フォルダ内のCGIプログラムがあるところからの相対で、ファイルアクセスを記述する場合に使用します。
そして、HTMLファイルがあるフォルダのURLにCGIプログラムがあるフォルダがマッピングされていれば、HTML内でのURL相対パス指定とCGIプログラム内で掃き出すHTMLのURL相対パス指定が同一になりますね。
しかし、別々にマッピングされていれば、当然、相対パス指定が違ってきます。
すると、HTML内でのURL相対パス指定とCGIプログラム内で掃き出すHTMLのURL相対パス指定が違っているので、ややっこしいことになったりするのです。
ということで、この辺は、CGIプログラムを開発する場合、つねに頭の隅に入れておくことが必要ですね。
ちなみに、Javaサーブレットでは、server.xmlとweb.xmlによってマッピングすることにより、URL相対パスをドキュメント(HTML)に合わせることができますね。