【mac環境】 MAMPのローカル環境でSSIを有効にする方法

カテゴリー︎: 【.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におまじないを書けば実現できます。

.htaccess

AddHandler application/x-httpd-php .php .html

これで、html内でphpが有効になります。

しかしながら

SSIは、1990年代に開発された技術で、若干古いと言えます。

昨今では、高度なテンプレートエンジンやJavaScriptフレームワークを使用することが一般的です。

が、一度設定してしまえば、SSIは簡単に利用することができます。

実際の現場では、phpが使えない環境ではSSIが重宝されると思います。

お試しあれ〜

PAGE TOP