SSI

SSIとは

SSI (Server Side Includes) とは、HTML文書に特別な記法のコメントを挿入することによって、外部ファイルを読み込んだり、プログラムの実行結果を表示する機能のことです。拡張子が .shtml のファイルで動作します。

.htaccess ファイルを使用してSSIファイルの拡張子を .html などに変更すると、通常の HTMLファイルを表示する際のパフォーマンスが低下することがありますので、ご注意ください。

参照ファイルの制限

suEXECの制約により、SSIで参照する実行ファイルは絶対パスで指定することはできません。また、上位ディレクトリを参照することもできません。実行ファイルはSSIを記述するファイルと同じか下位のディレクトリに設置し、相対パスで指定してください。

動作しない例
# 絶対パスで参照している
<!--#exec cmd="/home/username/public_html/foo.cgi"-->
 
# 上位ディレクトリのファイルを参照している
<!--#exec cmd="../foo.cgi"-->
動作する例
# 同じ階層のファイルを参照している
<!--#exec cmd="./foo.cgi"-->
 
# 下位ディレクトリのファイルを参照している
<!--#exec cmd="./dir/foo.cgi"-->