- 締切済み
Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca
Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 AddHandler cgi-script .cgi .plに変更。 exec cmdをHTMLファイルに埋め込みました。 <!--#exec cmd="/PROGRA~1/APACHE~1/Apache2.2/cgi-bin/counter.pl counter"--> インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ AddType text/html .shtml と AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。エラーログには ”指定されたファイルが見つかりません。 : don't know how to spawn cmd child process: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/counter.shtml” と記録されていました。 どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくおねがいします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mpro-gram
- ベストアンサー率74% (170/228)
引数の受け取りは、include virtualではブラウザurl欄で入力するときに書くquery と同じように書けば、$ENV{'QUERY_STRING'} で受け取れますよ。 include virtual="xsample.cgi?a=c" となっていれば、"a=c" が$ENV{'QUERY_STRING'} に入っています。 元のページのquery 情報 たとえば ex.shtml?xx=yy のurlならば $ENV{'QUERY_STRING_UNESCAPED'}に"xx=yy" が入っています。
- php504
- ベストアンサー率42% (926/2160)
C:/Program Files/ということはWindowsですね Windowsならexec cmdは使えないと思ったほうがいいです exec cgiやinclude virtualではだめでしょうか
お礼
レス本当にありがとうございました。補足の回答もできればお願いします。
補足
レスありがとうございました。引数のないcgiではうまくいきました。counter.pl counterと 引数のある場合はcgiではどうすればよろしいのでしょうか。ご存知でしたら教えてください。 よろしくお願いします。
お礼
レスありがとうございました。お礼がおそくなってすいませんでした。忙しかったもので。
補足
さっそくやってみたのですが、an error occurred while processing this directiveが カウンターが出るべきところに表示され、エラーログをみると malformed header from script. Bad header=22: counter.pl unable to include "/cgi-bin/counter.pl?countername=counter" in parsed file C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/counter.shtml とでてしまいました。どこが悪いのかわかりません。もしご存知でしたらよろしくお願いします。