SSI有効化の設定とバーチャルドメイン固有の設定について

とある案件で、ヘッダやフッタのテンプレートが読み込まれていない現象が発生した。

原因はSSIが無効になっていることまではすぐにわかったのだが、
.htaccessの記述でつまずいた。

正解は

Options Includes

うーん、ググッて最初にコピったのが間違っていたのだが、情けない..

ちなみにSSIの設定等で参考になる記事はこちら
http://www.atmarkit.co.jp/flinux/rensai/apache07/apache07.html

で、どうせなら色々他にも調べてみようということで、借りているVPSの設定等を調べてみた。

そもそもバーチャルドメインで作成しているサイトの場合、.htaccessを使用せずにSSIの有効化をするような場合は、
httpd.conf内の~ディレクティブ以下に記述しなければならない。

VPSの場合は、オリジナルのhttpd.confに変更を加えるというよりも、別のバーチャルドメイン専用のファイルに
変更を加えることが多い。

あるVPSでは、
/var/www/vhosts/***/conf/httpd.includeに
~ディレクティブ以下に記述をし、httpd.confに認識させていた。

別のVPSでは、
/usr/local/apache/conf/httpd.confに
対象ドメインノの~ディレクティブ以下に記述をしていた。

httpd.confに変更を加える形式の場合(上記の場合)の、SSIの設定を有効化する記述は、
当然


# To use server-parsed HTML files
#
AddType text/html .shtml
AddHandler server-parsed .shtml

<Directory /usr/local/apache/htdocs/>
  Options Includes
</Directory>

になる。

————————
【追記】
拡張子 .html や .htm のファイルで SSI を有効にしたい場合は、対象のディレクトリ内に .htaccess ファイルを作成し、以下の記述をしていただくことで有効になる。

Apache1.3の場合
AddHandler server-parsed .shtml .html .htm

Apache2.xの場合
AddOutputFilter INCLUDES .shtml .html .htm

No comments yet.