朝顔日記

SSI と XBitHack

2003-09-26

ひょんなことから、SSI と XBitHack についてちょっと調べたので、忘れないように覚書。

このサイトでは、ほぼすべてのページで SSI を使っています。おもに、全ページにあるナビゲーション部分を使いまわすためにその部分をインクルードしているわけです。このサイトがあるサーバのデフォルト設定では SSI を使うためには、拡張子を .shtml にする必要があるのですが .htacess に AddHandler server-parsed html と書くことで拡張子 html で SSI を使えるようにしています。しかし調べてみると一般的にはこれはあまり賢い使い方ではないようですね。

というのも、拡張子 shtml の場合のみ SSI 可にしておけば、サーバがファイルを要求された場合に、これは SSI なファイルだから処理しなくちゃ、今度は html だから SSI な仕事はしなくてもいいやという具合に判断できますが、AddHandler server-parsed html で、拡張子 html で SSI の実行を許可すると SSI を使っていないファイルまで、SSI な命令はないかとサーバに探させてしまうので余計な負担がかかってしまうからです。

拡張子 html なファイルで SSI を使うには、.htaccess に XBitHack full もしくは、XBitHack on を記述して、SSI を使いたい html ファイルにだけユーザの実行属性をつけてやれば、そのファイルだけ解析するようになります。これはなかなか賢いやり方ですね。

XBitHack full と、XBitHack on の違いは、fullにしておいて、ファイルにユーザの実行属性の他にグループの実行属性をつけておくと last-modified の日付をファイルの最終更新日時として出力するようになるという点です。これを設定しないと SSI は、last-modified ヘッダを出力しないそうです。

私のところでは、ほぼ全ファイルで SSI を使用しているので、 AddHandler server-parsed html でいいや、と思っていたのですが、XBitHackを使ったほうが、UA も last-modified ヘッダを参照してキャッシュやなんかを利用できるわけだから、あれこれ好都合になることが期待できます。ということで、今後は XBitHack full と、属性754で行きます。

参考
Apache チュートリアル: Server Side Includes 入門 - Apache HTTP サーバ

「SSI と XBitHack」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事へのツッコミ

1: アサノ (2003-09-27T13:47:57+09:00)
んが!そっか。鯖移動して XBitHack full が使えなくなってから *.html で SSI はすっぱり諦めてたんですが、AddHandler server-parsed html があったんでした。すっかり忘れてました・・。でもやっちゃっていいのかなー。と、ちょっち躊躇・・・。むむむ。
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2003/09/diary_030926a.html