[Apache] Apache2.4系でSSIを使う

拡張子.htmlのファイルでSSI(Server Side Include)を使いたい、というニーズはまだまだ根強いと思ってます(手軽なので)。

今回、Apache2.2系→2.4系にした際に、既存のSSIファイルが動かなくなっていたので対処をメモ。

基本セットとして、以下をhttpd.confまたは設定の上書きが許可されている状態で.htaccessに記述します。
 

AddType application/x-httpd-php .html
AddType text/html .html
AddHandler server-parsed .html
AddOutputFilter INCLUDES .html
Options All

 

その上でApache再起動してもうまくいかない!という場合は、Includeモジュールが読みこまれてない可能性があります。
httpd.confで以下の記述を確認。
 

LoadModule include_module modules/mod_include.so

 

読み込まれてなければ、コメントアウトを外してからApache再起動。
これで解決するはずです。

2.2系のときを覚えていないのですが、少なくとも2.4系からはinclude_moduleのデフォルト設定はOFFになってるようです。

バージョンアップ時はいろいろでてきますね。。