レンタルサーバー > レンタルサーバー EMW Partners オンラインマニュアル
SSIのご利用方法
HTMLファイル内でコマンドを使い、動的に結果を表示する事が出来るようになります。

ご利用手順

1..htaccessにてSSIの有効化と利用できるファイルの種類の指定を行います
2.実際にファイル内でコマンドを記述します

ご利用にあたっての注意事項

SSIを利用できるよう設定したファイル内でユーザーが投稿した任意の文字列を表示出来る場合
(掲示板やコメント欄など)、任意のコマンドを実行されないようタグの投稿を無効化するなど、
必ず対策を行ってくださいますようお願い致します。


.htaccessの設定

以下の内容の.htaccessファイルを作成または既存の.htaccessファイルに以下の内容を追記します。
Options +Includes
AddHandler server-parsed ○○○○
※○○○○の部分は、SSIを使いたいファイルの拡張子に置き換えてください。
AddHandler server-parsed htmlとすると、拡張子が.htmlのファイルでSSIが使えるようになります。

HTMLファイル内にコマンドを記述する

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 ドキュメントルートのパス