SSIとは?
SSI(Sever Side Include)とは、サーバ側(Server Side)で命令を解釈してその結果を
ウェブデータに含め(Include)ブラウザに返します。
SSIコマンドが埋め込まれたホームページを閲覧するだけで実行結果を反映したページ
を表示することが可能となり、アクセスカウンタなど比較的容易に実現することができます。
但し、Apacheをインストールした状態ではSSIは実行されないようになっています。
ここでは、
以下に示す注意点を考慮したSSIの設定方法をご紹介します。
▲ページ先頭に戻る
SSI利用に際して注意する点
●パフォーマンスについて
全てのファイルをSSI対象にすると、Webデータ全てSSI解析を実行するため
にサーバーのパフォーマンスが低下するおそれがあります。
サーバーの負荷を考慮して、特定のファイルでのみSSIを実行できるように
設定します。
→SSIを有効にする設定(1)
●セキュリティについて
全てのディレクトリでSSIを実行可能にすることはセキュリティ上望ましく
ありません。SSIを設定できるディレクトリを限定するように設定します。
→SSIを有効にする設定(2)
▲ページ先頭に戻る
ApacheでのSSI設定
・SSIの設定を有効にする
まずは、SSIの設定を有効(使える状態)にする必要があります。
Apacheの設定ファイル(httpd.conf)で以下の修正を行います。
→SSIを有効にする設定(1)
# To use server-parsed HTML files
#
AddType text/html .shtml <-行先頭のコメント"#"を削除
AddHandler server-parsed .shtml <-行先頭のコメント"#"を削除
→SSIを有効にする設定(2)
<Directory /home/httpd/html>
Options Includes FollowSymLinks MultiViews
#↑/home/httpd/htmlディレクトリでSSIを有効に設定
</Directory>
あとは、httpdを再起動して設定を反映させれば、SSIが有効となります。
以上で設定が完了しましたが、本当に有効になっているのか不安ですよね
SSIが動作しているか確認してみましょう。
■簡単な確認方法
<!--#echo var="DATE_LOCAL"-->
※#echo var="変数名" : 変数名("DATE_LOCAL"は現在時刻)を表示
↑HTMLのソース内に上記記述を追加してください。
※ファイルの拡張子は
".shtml"にします。
以下のような表示がされればSSIが有効になっています。
(サーバーの現在時刻を表示)
Saturday, 10-Sep-2005 22:42:44 JST
※何も表示されない場合はSSIの設定もしくはソースの間違いかもしれません。
ちなみに、<!--#include file="aaa.html"-->とすると
同じディレクトリにある"aaa.html"を取り込んで表示します。
共通部分をファイル単位で管理できそうです。
※ちょっと面白そうなので試してみようと思います^^
(SSIっていろいろできそうですね)
▲ページ先頭に戻る
Copyright(c) 2005, All Rights Reserved.