ミケネコ研究所 ミケネコ研究所 > htaccess リファレンス > SSI

SSI (Server-Side Includes)

サーバが、HTML ドキュメントを解析します。


.htaccess の設定方法


拡張子 shtml ファイルに、SSI を有効にするには

.shtml ファイルに、SSI を有効にする .htaccess 記述は、以下のとおりです。

Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml

拡張子 shtml のドット(.)は、あっても無くてもかまいません。

昔の参考書には、AddType text/x-server-parsed-html .shtml と指定する例がありますが、これは古い記述です。

拡張子 html ファイルに、SSI を有効にするには

.html ファイルに、SSI 機構を有効にする .htaccess 記述は、以下のとおりです。

Options +Includes
AddHandler server-parsed html

拡張子 html のドット(.)は、あっても無くてもかまいません。

拡張子 html に SSI を有効にした場合、すべての html ファイルがサーバによる解釈を受け、パフォーマンスが低下するので、好ましくありません。


SSI コマンドリファレンス


SSI 命令は、HTML ドキュメント内に、コメントとして記述します。

<!--#element attribute=value attribute=value ... --> 

value はダブルクウォート(")で囲います。

config

config errmsg="error message"
config sizefmt="Filesize Format"
config timefmt="Time Format"
<!--#config errmsg="ssi error"-->

SSI の設定を記述します。可能な属性のリストです。

errmsg
SSI エラーが発生した際のエラーメッセージです。
sizefmt
ファイルサイズを表示させる時のフォーマットです。
timefmt
ファイル時刻を表示させる時のフォーマットです。

echo

echo var="param"
<!--#echo var="%d"-->

変数 param の値を表示します。未定義であれば None と表示されます。

exec

exec cgi="script name"
exec cmd="script name"
<!--#exec cmd="./count.pl"-->

プログラムを実行し、その結果を挿入します。Options Includes が有効になっていないと、これらは無効です。

cgi
相対パスで指定されたファイルを、CGI スクリプトと認識して実行します。スクリプトがドキュメントを出力する代わりに Location: ヘッダーを返したならば、HTML の一番最後に表示されます。この exec cgi よりも、include virtual 機能が優先されます。
cmd
/bin/sh へ文字列を渡します。シェルが理解できる文字列なら、どんなものでもかまいません。

fsize

fsize file="filename"
fsize virtual="filename"
<!--#fsize file="./data.txt"-->

config sizefmt で指定されたフォーマットに従って、ファイルサイズを表示します

file
相対パスで指定されたファイルの、ファイルサイズを表示します。"../" や絶対パスを含むことはできません。
virtual
相対 URL パスで指定されたファイルの、ファイルサイズを表示します。"../" や、サーバ絶対パスで指定することができます。

flastmod

flastmod file="filename"
flastmod virtual="filename"
<!--#flastmod file="./data.txt"-->

config timefmt で指定されたフォーマットに従って、ファイルの最終更新日を表示します。

file
相対パスで指定されたファイルの、ファイルサイズを表示します。"../" や絶対パスを含むことはできません。
virtual
相対 URL パスで指定されたファイルの、ファイルサイズを表示します。"../" や、サーバ絶対パスで指定することができます。

include

include file="filename"
include virtual="filename"
<!--#include virtual="./data.html"-->

他のドキュメントや、解析されたファイルの中のファイルを挿入します。挿入されるファイルは、通常のアクセスと同じようにサーバの解釈・コンフィギュレーションの適用を受けます。

file
相対パスで指定されたファイルの内容を挿入します。"../" を含むことはできません。この機能よりも、virtual を使いましょう。
virtual
相対 URL パスで指定されたファイルの内容を挿入します。"../" や、サーバ絶対パスで指定することができます。

ミケネコの htaccess リファレンス http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/