【.htaccess】SSIを有効にして、全ページ共通のHTMLをincludeで読み込む

トップページ > SSIを有効にして、全ページ共通のHTMLをincludeで読み込む

SSI(Server Side Include)の設定方法

SSIを有効にする場合は、以下を.htaccessに記述するだけです。

Options +Includes
AddHandler server-parsed html

SSI有効化の為の記述方法は、Apacheのバージョンによって異なります。
上記で有効にならない場合には、古い書き方ですが、以下を試してみて下さい。

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

SSIコマンド

SSIで利用できるコマンドはいくつかありますが、良く利用するのは「include」くらいだと思います。

例えば、
全ページ共通のHTML部分(ヘッダやフッタ、サイドメニューなど)を「header.html」「footer.html」「sidemenu.html」などの名称で外部ファイルとして書き出し、
それらをincludeで読み込むようにしておけば、
修正の度に全HTMLファイルを修正する必要が無いので便利ですね!

外部ファイルを読み込む場合には、各HTMLファイルの該当箇所に以下を書き込むだけです。

<!–#include virtual=”/ssi/header.html” –>
<!–#include virtual=”/ssi/footer.html” –>
<!–#include virtual=”/ssi/sidemenu.html” –>

引数「virtual」はルートディレクトリからのパスを記載します。
もしカレントディレクトリやサブディレクトリからのパスで読み込む場合には、引数「file」を使用して下さい。

<!–#include file=”../ssi/header.html” –>
<!–#include file=”./ssi/footer.html” –>
<!–#include file=”ssi/sidemenu.html” –>

最後に

SSIはセキュリティ上の問題などで禁止されている場合もあります。

もし.htaccessに必要な記述を行っても有効にならない場合には、
サーバの管理者の方にSSIが利用可能か問い合わせてみて下さい。

ヘッダやフッタ、サイドメニュー、Analyticsコードなど全ページで共通の部品に関しては、
SSIを利用して1つのファイルで管理できるようにしておくと、
非常に便利です。

利用できるのであれば、有効に活用するようにしましょう!