よく出るエラーメッセーヂについて、その意味と原因をリストします。 エラーメッセーヂは数限りなく (^^;; あるので、 すべてについて解説は出来ませんが、ほとんどはメッセーヂから自明だと思います。 もし理由の分からないものがありましたら「うぇぶ会議室」の 「npc.cgiの部屋2」 辺りでお聞き下さい。適宜追加します。
省略時の設定ファイルである
npc.idx
ファイルの読み込みに失敗しています。
npc.idx
ファイルがあるのにこのエラーが出るのは、
npc.idx
ファイルが省略時の設定ファイルディレクトリに
置かれていないと言うミスがほとんどです。
設定ファイルディレクトリ
(INDEX_DIR
)は
コンパイル時にMakefile
で設定されます。
はじめは/usr/local/etc/httpd/index
に設定されています。
ユーザ指定の設定ファイルの 読み込みに失敗しています。
設定ファイルのパスが"/"
で始まっている時は絶対パスで、
そうでない時は省略時の設定ファイルディレクトリ
(INDEX_DIR
で設定)
からの相対パスで指定することを忘れないで下さい。
特にユーザディレクトリに設定ファイルを置く場合、
http://Server.Name/%7EUserName/FileName
は、
CGIから見ると
/UserHomeDirectory/UserName/public_html/FileName
に
なるので気を付けて下さい。
また、設定ファイルは
ブラウザから参照出来ない場所に
置いた方が安全なので、
/UserHomeDirectory/UserName/index/FileName
等を
使うことをお勧めします。
もちろん /UserHomeDirectory
の部分は
サーヴァの設定によって変わってきます。
よく使われるのは/home
、/users
などです。
また public_html
も
サーヴァによっては別の名前になっている所もあります。
詳しくはサーヴァの管理者にお聞き下さい。
カウンタの利用を断わられました。
npc.cgi
は設定ファイル中で
RESTRICTIONタグを使って
カウンタの制限レヴェルを設定出来ますが、
使った時の制限レヴェルが 2(= 利用できない)に
なっていた事を意味します。
通常、カウンタはどこからでもアクセス出来る様には なっていると思いますが、 どこからでもリンクを張れる様にはなっていないと思います。 リンクを張れるサーヴァは REFERERで設定します。 自分で設定ファイルを書いている場合は、RESTRICTIONや REFERERタグの所をチェックすると良いのではないでしょうか?
カウンタを利用するには、 どのペーヂをアクセスしたか指示するための LOCATION設定が必要ですが、 それが設定されていませんでした。
パラメータとして与えるときは L=...
と書きますが、
通常 L=
以下に利用ペーヂをURL書式で書きます。
L=http://www.your.domain/%7Eyour/html/page.html
とか、
同じサーヴァ内ならサーヴァ名は省略して
L=/%7Eyour/html/page.html
とか書けば
他のペーヂとぶつからないので安全です。
もちろん自分の設定ファイルを 利用する時は、この様な書式にこだわらず自由に書くことも出来ます。
設定ファイルが 書き込み可能な許可モードになっていません。
特に設定ファイルの所有者が一般ユーザの場合、 サーヴァ権限で書き込むためには、すべての人に書き込める様な 許可モードにしておく必要があるので注意して下さい。
Ver.0.81dまでの旧版では、 書き込み禁止の時にはファイルロックが出来ないことから、 と言うエラーになっていました。 Ver.0.82以降では、ファイルロックのエラーと ファイル書き込み禁止状態とは別のエラー表示を するようになりました。
此処には npc.cgi の使い方等で 良く質問される項目とその答えをまとめてあります。 此処に書いていない事でマニュアルを読んでも良く分からない事がありましたら、 「うぇぶ会議室」の 「npc.cgiの部屋2」 辺りでお聞き下さい。適宜追加します。
Q. ペーヂを通る度にカウントアップしてしまうんですけど?
A. Server Push によるアニメーションモードを 使っていませんか?
アニメーションモードに Server Push を使っていると、 大抵のブラウザはカウンタ画像のキャッシュをしないので、 カウンタを使用しているペーヂを通る度にカウンタ画像を読み直すため、 毎回カウントアップするようになります。 アニメーションモードを GIF89a モードにすれば ブラウザが画像をキャッシュするようになりますので、 異常なカウントアップは防げます。
Ver.0.81d までのヴァージョンでは省略時のアニメーションモードが Server Push であったため、 知らずにこのモードを使っている可能性があります。 Ver.0.82 からはアニメーションモードの省略時の選択は GIF89aアニメモードになりました。
Q. リロードした時にはカウントアップさせたくないんですけど?
A. 設定ファイルに条件を書けば可能です。(Ver.0.82以降)
設定ファイルに
=IF=ENV=HTTP_PRAGMA no-cache =INCREMENT 0 =ENDIF
と言う条件を加えて下さい。
ブラウザがリロードをする時には、
普通 HTTP のリクエストヘッダとして、
Pragma: no-cache
と言うものを付けます。
この Pragma:
と言うヘッダは
環境変数HTTP_PRAGMA
に現れますので、
それをチェックして no-cache
が入っている時には
カウントアップさせないようにします。
Q. 使用を始めてからカウンタ値をリセットしたくなったのですが?
A. 残念ながら、現在のヴァージョンではリセットの手段は用意されていません。 直接設定ファイルの該当するカウンタエントリーを書き換えて下さい。
設定ファイルを書き換える時、 カウンタ値の部分の桁数を変えたり 改行記号を他のものに変えたりすると誤動作します。 カウンタエントリの書式を 崩さないようにご注意下さい。
カウンタ値の初期値は、直接設定ファイルを編集しなくても 指定できます。