■ .htaccess の設定
拡張子 .shtml ファイルで SSI を有効にする .htaccess 記述は、以下のとおり
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
■ コマンドの使い方
◆ファイル読みこみ(#include)
※Apache 1.2.x 以降のコマンド実行はこちらを推奨している
(上部でエラーがあると、以降はすべてエラーになる)
・<!--#include file="〜" -->
・<!--#include virtual="〜" -->
◆コマンド実行(#exec)
※Apache 1.2.x 以降で引数を受け取れなくなった
・<!--#exec cmd="〜" -->
・<!--#exec cgi="〜" -->
◆ファイルサイズ(#fsize)
・<!--#fsize file="〜" -->
・<!--#fsize virtual="〜" -->
◆ファイルサイズ表示形式(#config sizefmt)
・<!--#config sizefmt="〜" -->
◆最終更新時刻(#flastmod)
・<!--#flastmod file="〜" -->
・<!--#flastmod virtual="〜" -->
◆時刻表示形式(#config timefmt)
・<!--#config timefmt="〜" -->
◆環境変数表示(#echo)
・<!--#echo var="〜" -->
◆環境変数表示(#printenv)
・<!--#printenv -->
◆変数設定(#set)
・<!--#set var="〜" value="〜" -->
◆エラーメッセージ(#config errmsg)
・<!--#config errmsg="〜" -->
◆制御構文(#if, #elif, #else, #endif)
・<!--#if expr="〜" -->
・<!--#elif expr="〜" -->
・<!--#else -->
・<!--#endif -->
■ SSIの注意点
使えると便利な SSI ですが、いくつか注意点があります。
・パフォーマンスが下がる
・セキュリティが弱まる
2016/05/20 22:14:00
< #exec cmd i2.cgi >
OK : 引数なし : #exec cmd="i2.cgi" : test - i2
OK : 引数なし : #exec cmd="/i2.cgi" : test - i2
OK : 引数なし : #exec cmd="./i2.cgi" : test - i2
NG : 引数なし : #exec cmd="cgi/test_ssi/i2.cgi" : test - i2
NG : 引数なし : #exec cmd="/cgi/test_ssi/i2.cgi" : test - i2
NG : 引数なし : #exec cmd="./cgi/test_ssi/i2.cgi" : test - i2
NG : 引数あり : #exec cmd="i2.cgi ip=1" : (出力されない)
NG : 引数あり : #exec cmd="i2.cgi&ip=1" : (出力されない)
< #exec cgi i1.cgi >
OK : 引数なし : #exec cgi="i1.cgi" : test - i1
OK : 引数なし : #exec cgi="/i1.cgi" : test - i1
OK : 引数なし : #exec cgi="./i1.cgi" : test - i1
OK : 引数なし : #exec cgi="cgi/test_ssi/i1.cgi" : test - test_ssi - i1\g
OK : 引数なし : #exec cgi="/cgi/test_ssi/i1.cgi" : test - test_ssi - i1\g
OK : 引数なし : #exec cgi="./cgi/test_ssi/i1.cgi" : test - test_ssi - i1\g
NG : 引数あり : #exec cgi="i1.cgi ip=1" : (出力されない)
NG : 引数あり : #exec cgi="i1.cgi&ip=1" : (出力されない)
< 引数あり hiki1.cgi>
OK : &マーク : #include virtual="./cgi/test_ssi/hiki1.cgi?arg1=a&arg2=b" : test - test_ssi - hiki1\g
arg1=a&arg2=b
NG : スペース : #include virtual="./cgi/test_ssi/hiki1.cgi arg1=a arg2=b" : [an error occurred while processing this directive]
< 引数あり hiki2.cgi>
NG : &マーク : #include virtual="./cgi/test_ssi/hiki2.cgi?arg1=a&arg2=b" : [an error occurred while processing this directive]
NG : スペース : #include virtual="./cgi/test_ssi/hiki2.cgi arg1=a arg2=b" : [an error occurred while processing this directive]
◆環境変数表示(#printenv)
MEF_PROXY_ADDR=162.43.112.30
UNIQUE_ID=aVCflQALApkr1WsrCFgJYwAAAiE
HTTPS=on
FailureCacheTime=0
Ngx_Cache_NormalFile=1
Ngx_Cache_NoCacheMode=1
HTTP_HOST=testcgi.gon5.com
HTTP_X_FORWARDED_FOR=216.73.216.14
HTTP_X_FORWARDED_PROTO=https
HTTP_X_FORWARDED_HOST=testcgi.gon5.com
HTTP_X_FORWARDED_PORT=443
HTTP_X_FORWARDED_SSL=on
HTTP_X_REAL_IP=216.73.216.14
HTTP_X_SERVER_ADDRESS=162.43.112.30
HTTP_X_WP_ACCESS=0
HTTP_X_ACCEL_EXPIRES=60
HTTP_X_FAILURE_CACHE_TIME=0
HTTP_X_UA_DEVICE=pc
HTTP_X_FILE_TYPE=normal
HTTP_CONNECTION=close
HTTP_ACCEPT=*/*
HTTP_USER_AGENT=Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
SERVER_SIGNATURE=
SERVER_SOFTWARE=Apache
SERVER_NAME=testcgi.gon5.com
SERVER_ADDR=162.43.112.30
SERVER_PORT=443
REMOTE_ADDR=216.73.216.14
DOCUMENT_ROOT=/home/hcl57201/gon5.com/public_html/testcgi.gon5.com/
REQUEST_SCHEME=https
CONTEXT_PREFIX=
CONTEXT_DOCUMENT_ROOT=/home/hcl57201/gon5.com/public_html/testcgi.gon5.com/
SERVER_ADMIN=webmaster@gon5.com
SCRIPT_FILENAME=/home/hcl57201/gon5.com/public_html/testcgi.gon5.com/test_ssi.shtml
REMOTE_PORT=34576
GATEWAY_INTERFACE=CGI/1.1
SERVER_PROTOCOL=HTTP/1.1
REQUEST_METHOD=GET
QUERY_STRING=
REQUEST_URI=/test_ssi.shtml
SCRIPT_NAME=/test_ssi.shtml
DATE_LOCAL=2025/12/28 12:10:13
DATE_GMT=2025/12/28 03:10:13
LAST_MODIFIED=2016/05/20 22:14:00
DOCUMENT_URI=/test_ssi.shtml
DOCUMENT_ARGS=
USER_NAME=hcl57201
DOCUMENT_NAME=test_ssi.shtml