htmlファイルにSSI(Server Side Includes)を有効にさせる方法

cairn505
htmlファイルをincludeさせる方法を忘れてしまうので、覚え書きとして作成しました。

▶ SSIとは?

Server Side Includes(SSI)はWebサーバの機能の1つ。
Server Side Includes – Wikipedia

HTMLの中にWebサーバ側で実行するコマンドを埋め込んでおき、その実行結果をクライアントサーバに返す仕組み。
Server Side Includes – Wikipedia

ただし、SSI を使用するには、WWW サーバーが SSI をサポートしており、SSI を許可する設定が行われている必要があります。一般のプロバイダでは、セキュリティのために使用を禁止しているところも多いようです。
サポートしていても、拡張子を .shtml にしなければならない、SSI を置けるフォルダが決まっている、自分で .htaccess の設定を行わなければならないなどいろいろあります。詳細はプロバイダにお問い合わせください。

WebサーバがApacheであれば.htaccess(ドットエイチティーアクセス)制御を使って、「.html」の拡張子のファイルでもSSIを動作させることができるようになる。
SSIを使う 〜htaccess制御で、「.html」ファイルを動かす〜

SSI を使用することにより、例えば次のようなことが可能になる。
とほほのSSI入門

・すべてのファイルに同じヘッダやフッタを表示することが簡単になる。
・ファイルの最終更新時刻やサイズを自動的に表示できるようになる。
・外部コマンドの実行結果をページ中に表示できるようになる。
・カウンターもつくれる。

▶ .htaccess(ドットエイチティーアクセス)とは?

ウェブサーバープログラムであるApacheの動作を、ディレクトリ(フォルダ)単位で制御するためのファイル。
htaccessとは

そもそもApacheを使ったウェブサーバーの設定は、httpd.confファイル(/usr/local/apache/conf/httpd.conf) によって指定されています。このhttpd.confファイルを編集できるのはサーバー管理者のみです。
そのため、一般ユーザーがサーバーを制御したいときには、指示を書き込んだ.htaccessファイルをディレクトリ内に設置することが必要になります。

.htaccessファイルは、初期状態では存在しないので、ユーザーが作成する必要がある。
.htaccessの使用法

安価なレンタルサーバーや、無料レンタルサーバーでは、 .htaccessファイルが使えないケースが多い。
htaccessとは

▶ .htaccessファイル の作成とアップロード方法

.htaccessファイルを作成することは非常に簡単です。
テキストベースのアプリケーションを開き、ワードラップ(自動改行)機能をオフにしてコードを記述し、ファイルを保存します。
サーバーの設定をカスタマイズ、よく利用する「.htaccess」の設定のまとめ | コリス

.htmlファイルにSSIを有効にさせる記述は以下になります。
.htaccessの記述例 – TAG index Webサイト

Options +Includes
AddType text/x-server-parsed-html .html

Windowsのメモ帳などを使用すると保存する際、ファイル名に「.txt」が加わってしまうので、「.htaccess.txt」 をFTPでアップロードしたものをサーバー上でリネームする。
サーバーの設定をカスタマイズ、よく利用する「.htaccess」の設定のまとめ | コリス

.htaccess.txt  ⇒ .htaccess

ファイルをアップロードする際は、「アスキーモード」(テキストモード)で行い、パーミッションは「644」にします。
サーバーの設定をカスタマイズ、よく利用する「.htaccess」の設定のまとめ | コリス

共有サーバーなどでは「604(グループ不可)」の場合もあるので、システム管理者やサーバー会社へ確認してください。

▶ .htaccessファイルの設定の有効範囲について

「.htaccess」ファイルの設定の有効範囲は、「.htaccess」ファイルを置いたディレクトリと、それ以下の全てのサブディレクトリです。
3/3 .htaccessファイルの作り方と設置方法 [ホームページ作成] All About

ですから、サイト全体に対して有効にしたいなら、最も上位のディレクトリに置けばよいことになります。

「最も上位」とは、サイトのトップページ(index.htmlなど)のある位置のことです。
ある特定のディレクトリとそのサブディレクトリに対して有効にしたいなら、その範囲内で最も上位のディレクトリに置きます。
ディレクトリごとに別々の設定をしたいなら、それぞれのディレクトリ用に「.htaccess」ファイルを作成して1つずつ置きます。
なお、上位のディレクトリにも別の「.htaccess」ファイルがある場合は、その設定内容も同時に適用されます。 設定内容が競合する場合は、下位ディレクトリにある方が優先されます。

▶ SSIで実行可能なコマンド(.htmlファイルに記述)

ファイル読みこみ(#include)
とほほのSSI入門


指定したファイルの中身を読込んで表示します。file=”~” の ~ にはファイル名を指定します。
../ や絶対パス名は使用できない場合があります。virtual=”~” の ~ には指定するファイルの仮想パス名(「http://サーバー名/パス名」の「/パス名」の部分)を指定します。

▼参考
http://www.tohoho-web.com/wwwssi.htm#Include

ファイルサイズ(#fsize)


▼参考
http://www.tohoho-web.com/wwwssi.htm#Fsize

ファイルサイズ表示形式(#config sizefmt)
とほほのSSI入門

▼参考
http://www.tohoho-web.com/wwwssi.htm#ConfigSizefmt

最終更新時刻(#flastmod)
とほほのSSI入門


▼参考
http://www.tohoho-web.com/wwwssi.htm#Flastmod

時刻表示形式(#config timefmt)
とほほのSSI入門

▼参考
http://www.tohoho-web.com/wwwssi.htm#ConfigTimefmt

環境変数表示(#echo)
とほほのSSI入門

▼参考
http://www.tohoho-web.com/wwwssi.htm#Echo

環境変数表示(#printenv)
とほほのSSI入門

▼参考
http://www.tohoho-web.com/wwwssi.htm#Printenv

エラーメッセージ(#config errmsg)
とほほのSSI入門

▼参考
http://www.tohoho-web.com/wwwssi.htm#ConfigErrmsg

コマンド実行(#exec)
とほほのSSI入門


▼参考
http://www.tohoho-web.com/wwwssi.htm#Exec

制御構文(#if, #elif, #else, #endif)
とほほのSSI入門




▼参考
http://www.tohoho-web.com/wwwssi.htm#If

▶ SSIの注意点

使えると便利な SSI ですが、いくつか注意点があります。

パフォーマンスが下がる
とほほのSSI入門

*.html や *.htm のファイルに対して SSI を使用可能にしておくと、Webサーバーが大半のファイルに対して SSI の構文解析や処理を行うことが必要となるため、パフォーマンスに影響を与えます。

セキュリティが弱まる
とほほのSSI入門

*.html ファイルに対して SSI を使用可能にしておくと、例えば、HTMLタグを禁止していない掲示板で「」と書き込まれた時にまずいことになります。

https://matome.naver.jp/odai/2137152881735711001
2013年06月18日