SSIとは
SSI(Sever Side Inclusion)はhtmlに特定のコマンドを記述することで、静的ページであるhtmlを書き換えことができる機能です。
具体的には
最終更新日は<!--#flastmod file="sample.shtml" -->です。
のようなファイルを作成し、サーバーにアップロードすると
最終更新日は2020年03月20日です。
のように表示してくれる(htmlを書き換えてくれる)機能です。CGI(Common Gateway Interface)と連携して使ったりもします。
ということで、旧サイトの閉鎖に伴い「hi-hoでSSI(Sever Side Inclusion)を使う場合の覚え書き」をブログに再掲してみようと思います。
hi-hoでSSI(Sever Side Inclusion)を使う場合の覚え書き
hi-hoはプロバイダーのWebサーバーとしては自由度があり、任意のCGIを実行したりSSIを使ったページを作成できたりします。今回はhi-hoでSSIを使う場合の注意点についてまとめてみようと思います。
SSIとは
SSIはServer Side Includesの略で、htmlファイル中にコマンドを記述することでhtmlファイルを表示する時にその内容を実行し、出力内容を動的に変更してくれるシステムです。
実行可能なコマンドには以下のようなものがあります。
config | 時刻のフォーマットなどを設定 |
echo | SSI変数を表示 |
exec | システムコマンドやCGIプログラムの出力結果を表示 |
fsize | ファイルサイズを表示 |
flastmod | ファイルの最終更新日時を表示 |
include | 別ファイルの内容を表示 |
※hi-hoのWebサーバーではexec
コマンドは制限されているので使えませんが、CGIの内容を表示したいだけであればinclude
コマンドを使って表示することもできます。
SSIの使い方
SSIは使いたい場所にhtmlのコメントとして記述します。
例えば、各ページで共通で使うフッターfooter.html
を作成し、フッターを表示したい場所に下記のようなコメントを記述します。
<!--#include file="footer.html" -->
これをhi-hoのWebサーバーにアップロードするとコメントの代わりにfooter.html
の中身が表示されるようになります。
htmlファイルではなく、CGIプログラムの実行結果を表示したい場合は下記のようにできます。
<!--#include virtual="/cgi-bin/user/FTPアカウント名/CGIプログラム名" -->
※SSIを使用する場合は拡張子を.shtml
にする必要があります。.html
でアップロードしたファイルのコマンドはそのままコメントとして無視されてしまいます。.shtml
以外の拡張子でSSIを使いたい場合は「.shtml
以外のファイルからSSIを利用」も参考にしてみてください。
.shtml以外のファイルからSSIを利用
.htaccess
に下記の記述を追加すると .shtml
以外に.html
や.htm
のファイル名でSSIが利用できるようになります。
AddOutputFilter INCLUDES .shtml AddOutputFilter INCLUDES .html AddOutputFilter INCLUDES .htm
リンク
- サーバ上での制限事項について│設定方法・サービス仕様│hi-ho
http://hi-ho.jp/support/manual/web/restrictions.php - hi-hoサーバーの制限事項について説明されています。SSI、CGI、.htaccessなどを利用する場合は一読しておくとよいと思います。