以下の内容の.htaccessファイルを作成または既存の.htaccessファイルに以下の内容を追記します。
Options +Includes
AddHandler server-parsed ○○○○
※○○○○の部分は、SSIを使いたいファイルの拡張子に置き換えてください。
AddHandler server-parsed htmlとすると、拡張子が.htmlのファイルでSSIが使えるようになります。
HTMLファイル内で、コマンドを使用したい部分に以下のフォーマットで記述します。
<!--#コマンド 引数="引数値" -->
コマンド |
引数 |
引数値 |
用途 |
config |
timefmt |
%Y年%m月%d日%k時など |
日時の表示設定 |
sizefmt |
abbrev または bytes |
ファイルサイズの表示設定 abbrev:KB(MB)表示 bytes単位省略なし |
errmsg |
任意のエラーメッセージ |
SSI実行エラー発生時のメッセージを設定 |
set |
var |
変数名 |
変数の設定 |
value |
変数の値 ※<!-- set var="language" value="日本語" -->のように使用します |
echo |
var |
Data_Local |
日時を表示 |
Date_GMT |
日時を表示(GMT) |
HTTP_User_Agent |
ユーザーエージェントを表示 |
HTTP_Referer |
リンク元のページURLを表示 |
Document_Name |
表示中のファイル名を表示 |
Document_URI |
表示中のファイルのパスを表示 |
Last_Modified |
表示中のファイルの最終更新日を表示 |
変数名 |
setで設定した変数の値を表示 |
exec |
cmd |
任意のコマンド |
シェルコマンドを実行 |
cgi |
CGIプログラムのパス |
指定したCGIプログラムを実行 |
include |
file |
任意のファイル名(現在のファイルを起点としたパス) |
指定したファイルの中身を表示 |
virtual |
任意のファイル名(DocumentRootを起点としたパス) |
指定したファイルの中身を表示 |
条件式
条件によって表示内容を変更するなどの処理が行えます。
<!--#if expr="条件1" -->
<!--#elif expr="条件2" -->
<!--#else -->
<!--#endif -->
・ある条件のみ処理を行う場合は、ifとendifのみの記述で処理できます。
・条件指定が3つ以上ある場合はelifをelseの前に追加していきます。
例:変数$test1が1且つ変数$test2が10以下の場合はメッセージを出す
<!--#if expr="
($test1 == 1) && ($test2 <= 10)" -->
メッセージ:条件に合致しました。
<!--#endif -->
例:携帯電話・スマートフォン・PCからのアクセスを判別しそれぞれに処理を行う
<!--#if expr="
$HTTP_USER_AGENT = /DoCoMo|UP.Browser|KDDI|SoftBank|Vodafone|J-PHONE|WILLCOM/" -->
<a href="/mobile/">携帯用ページへ</a>
<!--#elif expr="
$HTTP_USER_AGENT = /Android|iPhone|iPod/" -->
<a href="/smartphone/">スマートフォン用ページへ</a>
<!--#else -->
<a href="/pc/">PC用ページへ</a>
<!--#endif -->
環境変数の種類と指定方法
value=""の値には、予め用意された変数を指定出来ます。
指定する際に変数名の先頭に$を付加します。
例:<!--#set var="test" value="$SERVER_ADDR" -->
他の変数や文字列と一緒に指定する場合は変数名を{}で囲みます
例:<!--#set var="test" value="IP:${SERVER_ADDR}/ホスト:${HTTP_HOST}" -->
変数名 |
内容 |
DATE_LOCAL |
現在の日時 |
HTTP_USER_AGENT |
ユーザーのブラウザ情報 |
QUERY_STRING |
クエリ文字列情報 |
DOCUMENT_NAME |
表示中のファイル名 |
DOCUMENT_URI |
表示中のファイルのパス |
REQUEST_URI |
表示中のファイルのパス(クエリ文字列含) |
LAST_MODIFIED |
表示中のファイルの最終更新日時 |
HTTP_HOST |
ドメイン名 |
SERVER_ADDR |
サーバーのIPアドレス |
DOCUMENT_ROOT |
ドキュメントルートのパス |