SSIとは
SSI : server side include
共通部分(例えばヘッダー・フッター・サイドナビ等)がある場合、全てのソースにコピペするのは面倒です。
更新があった場合全てのファイルのその部分を書き換えないといけません。
一つのhtmlファイルに更新をかけるだけで反映されるのが効率的です。
SSIを使うとそれが可能になります。
私includeと聞いて最初勘違いしておりましたが、
PHPのinclude文ではありません。SSIのincludeです。
#html上書き方
html上に
<!--#include virtual="resource/include/header.html" -->
と、書いてあったら、それです。
virtualのかわりに、fileと書くこともあって、
virtual ⇒ ドキュメントルートからのパス。別ディレクトリでもサーバの絶対パスでも指定が可能
EX)
○ ⇒ virtual="resource/include/header.html"
○ ⇒ virtual="include/header.html"
file ⇒ 同ディレクトリやサブフォルダにある場合のみ。
上層のディレクトリにあるファイルは読み込めません。
EX)
× ⇒ file="resource/include/header.html"
○ ⇒ file="include/header.html"
○ ⇒ file="header.html"
#SSIを使ったファイルをローカルで確認するには
ローカルでSSIを利用するには、Apacheのhttpd.confファイルを編集する必要があります。
私がxamppを使用しているため、xamppで失礼いたします。
C:\xampp\apache\conf\httpd.conf
414行目あたりに
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
と書いてあるところを見つけ、その下の
417行目あたりを
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
↓
AddType text/html .shtml .html
AddOutputFilter INCLUDES .shtml .html
に変更する
そしてapacheを再起動すると大丈夫です。
#.htaccessなら
#AddType text/html .html .htm .shtml
#AddOutputFilter INCLUDES .html .htm .shtml
同様、.htmlを足しとけばいいようです。