拡張子の無いファイルを、CGIとして動かすには?

[上に] [前に] [次に]
コルン [E-Mail] 1999/04/27(火) 00:47:07
たとえば、"bbs.cgi"というファイルをCGIとして動作させたい場合は、
".htaccess"に、"AddType application/x-httpd-cgi .cgi"の一行を加えればOKですよね。
しかし、"bbs"という拡張子のないファイルをCGIとして動作させたい場合には、どうすれば良いのでしょうか?
"AddType application/x-httpd-cgi bbs"とか"AddType application/x-httpd-cgi bbs."とか
"AddType application/x-httpd-cgi ."とか、色々と試してみましたけど、成りませんでした。
何か方法が在れば、教えて下さい。

ちなみに、掲示板のURLを、
http://xxx.xxx.xxx/~xxx/bbs.cgi/xxx.html
ではなく、
http://xxx.xxx.xxx/~xxx/bbs/xxx.html
にしたいのです。

まさや 1999/04/27(火) 01:41:49
えっと、
http://xxxxxxxxx/~xxx/bbs/xxx.html
にしたいっていってますけど、掲示板をおきたいみたいなのですが、そうすると
http://xxxxxxxx/~xxx/bbs/bbs.cgi
って感じになるんですが。
必ず最後は拡張子をつけないといけないんですよ。
わかってもらえましたか??

#まとはずれならごめんなさい。

コルン 1999/04/27(火) 01:56:21
 説明が悪かったかな?
 一つのperlソースで、10個や20個の掲示板を使える様に
CGIプログラムに$ENV{'QUERY_STRING'}でではなく、
$ENV{'PATH_INFO'}で引数を与えて、どの掲示板かの識別をさせています。

 つまり、
http://xxx.xxx.xxx/~xxx/bbs/xxx.html
 の時、
http://xxx.xxx.xxx/~xxx/bbs
 がCGIで、後に続く"/xxx.html"は、$ENV{'PATH_INFO'}
に収納される様にしたいのです。
 よって、
http://xxx.xxx.xxx/~xxx/bbs
 がCGIファイルとして認識されなければ、元も子も無いのですね。
(認識さえされれば、あとのプログラムは出来ています。
 今現在は、それぞれの掲示板が
http://xxx.xxx.xxx/~xxx/bbs.cgi/xxx.html
 という、ちょっとマヌケなURLに成っています。)

B-Cus 1999/04/27(火) 11:35:56
 <FilesMatch "^bbs$">
  ForceType application/x-httpd-cgi
 </FilesMatch>
てな感じでしょうか。

yasu [E-Mail] [HomePage] 1999/04/27(火) 22:42:08
ぼくも同じようなことを思っていたのですが、
B-Cusさんの場合、ファイル名が「bbs」じゃないといけないですよね。
違う場合はどこを変えればいいのでしょうか?
多分bbsという文字だと思うのですが、htaccessの構文はちんぷんかんぷんで・・・(汗)

B-Cus 1999/04/28(水) 00:10:34
それはもちろんbbsの部分です。

失礼ながら構文がどうこうというより、そこしか変える部分が
ないですよね。まず、お手もとの環境で試してみてください。

一応書いておくと、FilesMatchの代わりに Filesでもいいです。
さらに、ForceTypeの代わりに SetHandlerでもいいです。

例えば
 <Files "bbs">
  SetHandler cgi-script
 </Files>

参考サイト http://japache.infoscience.co.jp/japanese_1_3/manual/mod/directives.html

B-Cus 1999/04/28(水) 00:27:22
あと、
 http://www.ascii.co.jp/books/detail/4-7561/4-7561-2024-5.html
これ、ちょーおすすめです。

 http://japache.infoscience.co.jp/japanese_1_3/manual/index.html
はweb上で公開されているから便利だけど、記述が初心者向けではないし、
(利用させてもらってるのにこう言っちゃ悪いけど)日本語が腐ってるので。

コルン [E-Mail] [HomePage] 1999/04/28(水) 23:23:19
[[解決]]
 B-Cusさん、お答えどぉも、ありがとうです。
 (答えてもらってるのにこう言っちゃ悪いけど)見直しました。(ぉぃぉぃ
 いやぁ、お陰で助かりましたよ、ホント。
 .htaccessって、タグも使うんですね。
 最初、
<FilesMatch "^bbs$">
ForceType application/x-httpd-cgi
</FilesMatch>
 という文を見たとき、イマイチ信じられませんでしたが、
 試してみて、実際に動いて、.htaccessにもタグが
在るんだなぁと、ガッテンしました。
 .htaccessの場合、if文とかの代わりに使ってるんですね。
htmlファイルの<noframes>等と、同じですね。

[上に] [前に] [次に]