SSI
SSIとは Server Side Includes の略です。
直訳すれば、サーバー側で入れておく、とでもいう感じでしょうか
SSIは誤解を招くような表現かもしれませんが、「埋め込み型CGI」というのが一番ぴったり来ると思います。
SSIで最も注目すべき機能は、外部のCGIプログラムを起動し、その結果を表示することができることでしょう。(もちろんいくつかの気をつける点はありますが)
CGIがプログラムの中でHTMLのページを作成して全体を出力しなければならないのに対し、SSIではコマンドをHTMLで作成したページの中にコメントの形で書きこんで、その個所だけをプログラムで書き出すということができます。
SSIでできること
動作 | コマンド | 引数 |
---|---|---|
外部ファイルの内容を読み込む | include | file、virtual など |
外部プログラムの実行をし結果を取り込む | exec | cgi、cmdなど |
ファイルの最終更新日を表示 | flastmod | file、virtual など |
他のコマンドの表示形式を指定 | config | errmsg、timefmt など |
定義されている環境変数を表示 | echo | var |
指定したファイルのサイズを表示 | fsize | file、virtual など |
SSIの使い方
SSIの挿入位置に「<!--#コマンド名 引数名="引数値" --> 」をいれサーバーがSSIを許可している拡張子(多くはshtml)にします。
サーバーにアップロードして、確認します。
SSIコマンドが適正に設定されていれば、flastmodやechoなどはすぐに使うことができます。
<!--#config timefmt="%Y 年 %m 月 %d 日 %H 時 %M 分"--> <!--#echo var="LAST_MODIFIED"-->
include、exec、fsizeなどは外部ファイルが必要です。
execで、CGIプログラムを起動するときは、CGIプログラムのエラーにも気をつけてください。
サーバーがSSIを許可している拡張子以外の拡張子で、SSIを使いたい場合は、「.htaccess」というファイルを置くと使えるようになる場合があります。
(.htaccessの設置が許可されていないサーバーもあります)
自分は「htアクセス」とか呼んでいましたが。正式には、Access Configuration File(アクセス コンフィギュレーション ファイル)というらしいです。
たとえばshtmlの拡張子で、SSIが許可されていない場合は、次のようにファイルに書いて設置すればそれでOKです。
AddType text/x-server-parsed-html .shtml
SSIを使う時の注意点
- SSIコマンドは、必ずコメント形式 「<!--#コマンド名」で始める。頭の「#」の前にはスペースが含まれてはいけない。
- 引数値を示す記述の最後の部分「"引数値" -->」の部分には、必ずスペースを1つ置く。
- パス名に「../」を含むコマンドやファイルへのパス名は使用しない。
- 引数値を記述する際には、引用符で囲む。
- プロバイダーが使用を許可してるか(プロバイダーがCGIを許可してるかといってSSIが使えるとは限らない)
ポイント
- SSIはHTMLで作成したページにプログラムを埋め込める。
- SSIが使える拡張子は多くはshtmlです。
Cookie | HomePage | - |
□新着
- 2016/04/14
ページ復旧 - 2007/10/06
Story Maker始動 - 2007/06/13
久々の更新 - 2007/01/06
logちょっとバージョンアップ - 2006/07/27
ホームページのPerl 終了
□Topics
- 2016/04/14
サイト復旧 - 2007/10/06
StoryMaker始動 - 2007/06/13
今後にぜひご期待を! - 2006/06/26
今後について - 2006/06/15
環境の変化