ホームページ(WEBページやWEBコンテンツ)を作る前に、まずは、ここの「HP作成の予備知識」をひと通り読んでいただけると嬉しいよね..

■ 13.CGIの結果をHTML文書に埋め込みたい。(SSI)

掲示板やカウンタなど、CGIの結果を別ページに埋め込みたいと思うことがあります。

このような場合は、SSI(Server Side include、サーバー・サイド・インクルード)を使用すると簡単です。
ただし、サーバーでSSIを許可していることが前提です。

SSIを許可していないサーバーでも、できる事がありますので以下の内容を試してみる価値はあります。
私は過去にSSIを許可していないと言われたサーバーで以下の内容を試したところ、可能だった事があります。

SSIの呼び出しには以下のようなものがありますので、一度試されると良いでしょう。

<!--#include file="ファイル名を記述"--> <!--#include file="ファイル名を記述" --> <!--#include virtual="ファイル名かCGIの呼び出しを記述"--> <!--#include virtual="ファイル名かCGIの呼び出しを記述" --> <!--#exec cgi="CGIの呼び出しを記述"--> <!--#exec cgi="CGIの呼び出しを記述" --> <!--#exec cmd="CGIの呼び出しかコマンドを記述"--> <!--#exec cmd="CGIの呼び出しかコマンドを記述" -->

特に上4つは、安全な呼び出し方として、今までのSSI呼び出しの代替方法として、最近使われることが多いようです。

埋め込みたいHTML文書中に上記のいずれかを記述します。
そして、そのHTML文書の拡張子を「*.htm」「*.html」から「*.shtml」に変更します。
一般的には、SSIを埋め込むHMTL文書の拡張子は「*.shtml」か、「*.shtm」です。
サーバーによっては「*.shtml」じゃないと動作しない場合があります。

最近のサーバーは拡張子が「*.htm」「*.html」のままでもSSIが使用できるようになってきています。
詳しくはそれぞれのサーバー管理者に問い合わせるか、サポートで尋ねるといいでしょう。

また、サーバーによっては、「cgi-bin」フォルダ内のHTML文書(*.html)からCGIを呼び出すとエラーになる場合があります。
その場合は、「cgi-bin」以外にHTML文書(*.html)を置いてください。

一例を記述しておきます。
ファイル名は、適宜変更してください。

public_html(自分のホームページ)
  ├test.shtml
  └cgi-bin
    └test.cgi

という風に、「SHTML」「CGI」を設置し、shtmlからCGIを呼び出します。

呼び出し方は次のような感じです。

<!--#include virtual="./cgi-bin/test.cgi" -->

SSICGIの結果だけでなく、HTMLの中にHTMLテキストを埋め込むこともできます。



page update:2011/11/05 19:24

Copyright (c) 2000-2009, all Rights Reserved & Produced by atom