カテゴリー︎: 【.htaccess】・【mac】・【PHP】・【なるほど!】
まず、SSIとは、「Server Side Includes」の略で
ウェブサーバがhtmlファイルを処理する際に
別のファイルやデータを挿入するための技術ということです。
SSIを使用すると、ウェブページ内に動的なコンテンツを表示することができます。
たとえば、ウェブページのヘッダーやフッター、ナビゲーションバーなどを複数のページで共通化することができるのです。
これにより、ページのメンテナンスが容易になり、デザインの統一性も保たれるということです。
この技術を、mac環境である MAMPのローカル環境でSSIを使いたいという内容の記事です。
やることは、簡単です。
MAMPの設定ファイルを変更するだけです!
① MAMPの設定ファイル「httpd.conf」を開く
設定ファイルはこちらにあります。
↓
/Applications/MAMP/conf/apache/httpd.conf
お使いのエディターでhttpd.confを開く
② 修正する箇所1箇所目 228行目
228行目を下記の通りに変更する
変更前 → Options Indexes FollowSymLinks
変更後 → Options Indexes FollowSymLinks ExecCGI Includes
③ 修正する箇所2箇所目 548行目
変更前 → AddOutputFilter INCLUDES .shtml
変更後 → AddOutputFilter INCLUDES .shtml .html .htm .php
※ 修正箇所の行数は環境によって異なる場合があります。
④ MAMPを再起動する
これで、準備は整いました。
コードサンプルの例
index.html (SSIで読み込む側のコード)
↓
<!--#include virtual="header.html" --> <div class="">ここにコンテンツ</div> <!--#include virtual="footer.html" -->
今回の例では、 idnex.htmlの同じディレクトリに
header.html
footer.html
配置させていて、index.htmlに読み込んで表示するサンプルです。
要するにphpでパーツごとにincludeすることと同じですね。
ちなみに、mac環境のMAMPで .htmlでphpを使いたいときは
.htaccessにおまじないを書けば実現できます。
AddHandler application/x-httpd-php .php .html
これで、html内でphpが有効になります。
しかしながら
SSIは、1990年代に開発された技術で、若干古いと言えます。
昨今では、高度なテンプレートエンジンやJavaScriptフレームワークを使用することが一般的です。
が、一度設定してしまえば、SSIは簡単に利用することができます。
実際の現場では、phpが使えない環境ではSSIが重宝されると思います。
お試しあれ〜