• ベストアンサー

SSIうを使わず、HTMLにアクセスするとCGIが動作するようにしたい

ホームページのindex.htmlにアクセスがあったら カウントしてそれをメールで飛ばそうと思っています。 HTMLにどのように記述すれば、htmlアクセス時にCGIを呼び出せるようになるんでしょうか? SSI対応では無いのでSSI以外の方法があるようでしたら ご教授ください。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.3

カウンタやアクセス解析のCGIなどがそうであるように、IMGタグでCGIを起動することができます。src属性にCGIのURLを書いておけば、HTMLアクセス時に(正確にはHTML表示時)にCGIが呼び出されます。 この方法ではIMGタグから呼び出しているので、CGIは画像を出力しなければなりません。カウントやメール送信の他に、適当な画像(1×1の透明GIFなどを使うところが多いです。)の出力処理を加えればOKです。 他にはインラインフレームとしてCGIを起動することも考えられます。枠線などをなくし、完全に背景と一体化するようにインラインフレームを設置するとよいでしょう。 こちらの場合は、内容のないHTMLを出力すればよいでしょう。 ただし、ブラウザが未対応だったり設定がOFFだったりする場合があるので、どちらの方法にも SSI ほどの確実性を期待することはできません。

koozou
質問者

お礼

詳しいご説明ありがとうございます。 やはりSSI可能なところを探したほうがよさそうですね。 回答ありがとうございます。

その他の回答 (2)

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.2

.htaccess に AddType application/x-httpd-cgi .html と書いて、index.htmlという名前のcgiを書く、という方法でできます。 ただし、この方法ではすべてのhtmlファイルをcgiにしなければならないという欠点があります。 あとは、index.htmlでは<META>タグでcgiにリダイレクトしてしまうという方法もありますが、ブラウザによっては機能しないという欠点があります。

koozou
質問者

お礼

すべてのhtmlをcgiにしないといけないとダメですか。 やはりSSIしかなさそうですね。 回答ありがとうございます。

noname#198952
noname#198952
回答No.1

イマイチやろうとしている事が理解できないのですが、index.htmlにアクセス したらカウントしてメールを飛ばすとは、具体的に何をしたいのでしょうか? カウントだけならCGIのカウンタを置くだけで済みますし、来た人のIPアドレス やリモートホスト等を保存したいのであれば、JavaScriptで可能ではありますが。

koozou
質問者

お礼

JavaScriptという方法もあるのですね。 回答ありがとうございます。

関連するQ&A