因数分解の後で掛け算を知った気分

 SSIっつったらKULVULCANクバルカンじゃね〜のかよッ!破裂の人形BANG-DOLLじゃね〜のかよっ!ってか、一応スペルの確認しようと思ったら(中学1年並の英語力!w)そういう名前のヴィジュアル系バンドの存在を知る。まぁそれはいいとして、ファイブスターの方ってホントはS.S.I.ってピリオド入ります。

 ほよ?何の話するんだか忘れちった(アラレちゃん口調で)。そうそうだからSSIですよ、HPのハナシ。JAVAスクリプトCSSは外部ファイルにしてリンクだけ貼って読み込む仕様にしておけば、貼り付けておくHTMLファイルがどんだけ増えてもJAVAスクリプトCSS自体の修正や改変なら外部ファイルだけを弄ればいいというのが凄く楽チンなワケです。

 で、それは常識として、今日はno scriptタグの中のメニュー部分だとか、要はHTMLファイルのソースで部分的に共用できる部分を(閲覧者の環境に左右されないで)外部ファイル化できねぇモンかと思ってたら、ちゃんと方法があったワケですよ、それがSSI。いや、多分SSIというものの中のincludeというコマンド(一機能?)に過ぎないんだろうけど、これがかなり使えるというのをたまたま今日知りまして。

 ってかさ、こんなに敷居が低くて使えるテクなのに(飽く迄もincludeについてのみの見解です)なんで最初に教えてくれるような感じになってないのか?そりゃ無料系HPスペースでSSIが使えるところは少ないかも知れないけど鯖屋なら実装が標準だろ。HP制作で何がヤル気を削ぐかって多数のメニュー毎にページを作らないといけない場合のソース共通部分の扱いですよ。しかも頻繁にその共通部分を弄る場合は大変だよ。コピペでいいと言ったらそれまでだけど、それにしたってページが増えたら面倒なんだよ。

 まぁそんなワケでSSIのincludeコマンドなんである。使ってる鯖屋の仕様にも拠るが、大概は.shtmlとか.shtmという拡張子にすればイケるみたい。簡単!ただ、ここでボクは物凄い勘違いをしていて今日一日悩みまくったワケだが。ってか絶対解説サイトの書き方がよくないんだと思う、オ一ルアバウトのヴァカっ!

 本来ならHPを作成する時点でこのテクを知っておくべきなのだが、SSIとかっていうとCGIとかと一緒で上級者向けみたいな扱いになってるので(include以外はそれが妥当なんだろうけど)、気づいた時には既にHPを運営・管理している状態であり、それを.shtml(とか.htm。以降省略)対応にコンバートしていく場合が殆どではないだろうか。

 だからこそ通常.html形式になっているファイルを.shtmlにしないといけないことを最初にキチンと教えて欲しいのである。おかげでソースの共通部分を抜き出したファイルの方を.shtmlにしちゃってたよ。まぁ抜き出した方(共通部分)は.shtmlでもいいのかも知れないが(.htmlでも.txtでもいいからね。ボクは.txt派)、それを挿入させる側のファイルは.shtmlじゃないとSSIが機能しないみたいなのね。

 勝手な思い込みなんでしょうけど、まさかベースとなるファイルの方の拡張子を変えるとは思わないから、危なく契約してる鯖屋さんに「出来ないんですけど」って旨のメール入れるところでしたよ。送信してたら大恥確定っス(笑)

 今日はサーバに揚げてテストしてみただけなんでこの後暇を見つけて徐々に書き換えていこうと思っておる次第。これ以上贅沢言うなってハナシだけどヘッダ部分とかも外部ファイル化できたらいいんだけどねぇ。

 普通にブラウザでアクセスしてる時は「ヘッダの中身も外から読み込めてる!」って思ったけど、念のためにURLからソース中のHTML文法チェックしてくれるサイト(ttp://htmllint.itc.keio.ac.jp/htmllint/htmllint.html)にかけたらDOCTYPE宣言してないとか<hesd>がないとかいっぱい怒られた。

 つまり、ヘッダ内は外部から読み込めていないということだろう。肉眼ではブラウザがDOCTYPE 宣言とかMETAタグ読んでるかはわかんないからね。ここでチェックして正解。つーかこのサイトはこういう使い道もあったのです。

 ・・・でもオールアバウトには
例えば、各ページのヘッダとフッタが共通の場合は、それぞれ head.html , foot.html などとして、ページの上部と下部で挿入されるように記述すると良いでしょう。
って書いてある。DOCTYPE宣言とか1行目からヘッダの終わりまでを外部ファイル化しようとしたのがいけなかっただけでヘッダはイケるのかな。今度実験してみないと。

 んで、あとはファイルが皆.htmlから.shtmlになっちゃうからトップページ以外のブックマークとか所謂ディープリンクしてる人のことを考慮してリダイレクトするようにしとけばいいと思う。それにしてもたったコレだけのことなんだからマジで初歩の初歩で解説しておいて欲しかった。あと、環境に左右されないとは書いたが、通常より負荷はかかる筈。とはいえ近年のマシンなら、それを負荷とは感じないだろうから実際はやっぱ環境には左右されないという認識でいいかと思う。

 ということで、また少し管理は楽になってくれそうな気はするが、そのためには現行のファイルを書き換えていかないといけないワケで(泣)