- ベストアンサー
SSIうを使わず、HTMLにアクセスするとCGIが動作するようにしたい
ホームページのindex.htmlにアクセスがあったら カウントしてそれをメールで飛ばそうと思っています。 HTMLにどのように記述すれば、htmlアクセス時にCGIを呼び出せるようになるんでしょうか? SSI対応では無いのでSSI以外の方法があるようでしたら ご教授ください。 お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
カウンタやアクセス解析のCGIなどがそうであるように、IMGタグでCGIを起動することができます。src属性にCGIのURLを書いておけば、HTMLアクセス時に(正確にはHTML表示時)にCGIが呼び出されます。 この方法ではIMGタグから呼び出しているので、CGIは画像を出力しなければなりません。カウントやメール送信の他に、適当な画像(1×1の透明GIFなどを使うところが多いです。)の出力処理を加えればOKです。 他にはインラインフレームとしてCGIを起動することも考えられます。枠線などをなくし、完全に背景と一体化するようにインラインフレームを設置するとよいでしょう。 こちらの場合は、内容のないHTMLを出力すればよいでしょう。 ただし、ブラウザが未対応だったり設定がOFFだったりする場合があるので、どちらの方法にも SSI ほどの確実性を期待することはできません。
その他の回答 (2)
- shige_70
- ベストアンサー率17% (168/946)
.htaccess に AddType application/x-httpd-cgi .html と書いて、index.htmlという名前のcgiを書く、という方法でできます。 ただし、この方法ではすべてのhtmlファイルをcgiにしなければならないという欠点があります。 あとは、index.htmlでは<META>タグでcgiにリダイレクトしてしまうという方法もありますが、ブラウザによっては機能しないという欠点があります。
お礼
すべてのhtmlをcgiにしないといけないとダメですか。 やはりSSIしかなさそうですね。 回答ありがとうございます。
イマイチやろうとしている事が理解できないのですが、index.htmlにアクセス したらカウントしてメールを飛ばすとは、具体的に何をしたいのでしょうか? カウントだけならCGIのカウンタを置くだけで済みますし、来た人のIPアドレス やリモートホスト等を保存したいのであれば、JavaScriptで可能ではありますが。
お礼
JavaScriptという方法もあるのですね。 回答ありがとうございます。
お礼
詳しいご説明ありがとうございます。 やはりSSI可能なところを探したほうがよさそうですね。 回答ありがとうございます。