拡張子の無いファイルを、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>等と、同じですね。
[上に]
[前に]
[次に]