新規記事投稿 フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: npc.cgiを設置したのですが・・・
Date: 1999/08/30 02:36:10
Reference: mesh.npc.2/00666

8月29日に、いしどうさんは書きました。

>8月29日に、JIMNNYさんは書きました。
>
>><P ALIGN=Right><IMG SRC="../cgi-bin/npc-0.83/npc.cgi?
>>  I=../npc.idx
>>  &L/forum/Preface.html&U=18&O=-1&P=ON&W=6" 
>>  ALT="counter" ALIGN="top" WIDTH="96" HEIGHT="18"></P>
>>と記述しています。

>んで、Preface.htmlを表示しているときのカレントディレクトリは、
>どこになるでしょう。
>
>home/forum ディレクトリになるのが普通だと思います。

えーと、NCSA型のサーヴァの場合、スクリプトを実行している時のカレントディレクトリは
そのスクリプト自身がいるディレクトリになります。JIMNNYさんお使いのApacheはそうですね。
# CERN型は違いますが。

つまり、npc.cgiの実行時にはJIMNNYさんが考えたように …/cgi-bin/npc-0.83 になります。

では、なぜ I=../npc.idx ではいけないのかというと、npc.cgi の設定ファイルを相対パスで
指定した場合の基点は、カレントディレクトリではなく、コンパイル時に決めたカウンタファイル
ディレクトリにあるからです。

>ホームディレクトリ(たとえば、/home/usr8/jimnny とか)が
>わかるのであれば、/home/usr8/jimnny/cgi-bin/npc.idx と
>指定するほうが簡単そうに思うんですけれども、いかがでしょう。

それでも良いですし、今回の様に設定ファイルがURLで表せる所にある場合は、I= では無く、

<IMG SRC="/cgi-bin/npc-0.83/npc.cgi/cgi-bin/npc.idx?L=...">

の様にパス表現を使って指示した方が簡単でしょう。

# 設定ファイルの指定がパス表現で行なえる事は、マニュアルにも書いてあるし、
# 事あるごとにフォローもしているのですが、なかなか認知されていない様ですね。
# なぜでしょう? (^^;;