- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SSIでの"?"の使い方)
SSIでの"?"の使い方
このQ&Aのポイント
- SSI(Server Side Includes)を使用して、検索エンジンCGIのログをトップページに表示する方法について質問しています。
- "?"を使用したSSIの表示方法について試してみたがうまくいかず、何も表示されなかったとのことです。
- また、"?"を抜いた場合にはダミーテキストが表示されることから、SSIの時には"?"が使用できないのか、スクリプトに問題があるのか疑問に思っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 具体的にどのようにしたらいいのでしょうか? 例えば、パラメータの指定は次のようにします。 <!--#exec cmd="./list.cgi pt=0 a=1 b=2" --> もし、list.cgi のリクエスト解析部分が、 if ($ENV{REQUEST_METHOD} =~ /GET/i) { $buf = $ENV{QUERY_STRING}; } else { read STDIN, $buf, $ENV{CONTENT_LENGTH}; } のような感じになっているなら、それを if (@ARGV) { $buf = join '&', @ARGV; } elsif ($ENV{REQUEST_METHOD} =~ /GET/i) { $buf = $ENV{QUERY_STRING}; } else { read STDIN, $buf, $ENV{CONTENT_LENGTH}; } として、@ARGV から受け取るようにします。 (CGIとして実行することがなければ、elsif 以降は不要です。) また、CGI.pm を使っているなら、スクリプトは変更しなくても大丈夫のはずです。
その他の回答 (1)
- leaz024
- ベストアンサー率75% (398/526)
回答No.1
SSIの <!--#exec cmd="script" --> というのは script をCGIとして呼び出すものではありません。 これは script をコマンドとして実行するものなので、パラメータをスペースで区切って渡し、スクリプト側では @ARGV を参照します。 詳しくは参考URLをどうぞ。
お礼
返答ありがとうございます。 ページを見てみましたが、ちょっと意味がよくわからなかったです。 具体的にどのようにしたらいいのでしょうか?