ウログ VS PHP

最近のウログについてです。ムーバブルタイプによるウログですので、厶ログとも言えます。

MySQLを操るために覚え出したPHPですが、PHPはHTMLに埋め込めるのですね。これはもしやすこぶる便利なのでは、あれやこれやができるのではと、ウログのテンプレートを書き直してみたわけです。あれやこれやができましたですね。

まずは条件分岐。私が使っているバージョン(2.661)のMTは、条件分岐タグに乏しい。<MTEntryIfAllowComments>とか<MTEntryIfAllowPings>とか、なくても何とかなりそうなものしかない。むしろコメントがあるかどうかとか、コメントしているのは作者自身かとかの方が有用でしょう。そもそもオレはオレなのかとか。それを実現しようとするとプラグインなのですね。そう、プラグインがあるにはあるのです。試してはみたのです。ところがうちでは動かない。ちゅんとも動かない。動かない場合はこうすれば動くという情報も見つからないのであきらめた。

それがあなた、PHP使えば簡単じゃないですか。if ( harin’s nose == black ) { echo "nise harin!"; } else { echo "honmono!"; } なんて書けちゃうじゃないですか。ブラボー!というわけでぺしぺし直していたわけですよ。↑のメニューとか↓のコメント欄とかを主に直してみました。

次はモジュール化です。モジュール、何でしょう。モジュール。イメージ的にはおフランス?モジュール、モナミ。

部品、でしょうか。うちでいいますと、右側のメニュー(「日々の暮らし」とか「マキントシュ」とか並んでいるやつです)やなんかは、複数のテンプレート(index.phpとカテゴリアーカイブ)で使っているものですが、この部分を例えば「sidemenu.php」などのファイル名で別に保存しておきます。で、indexやカテゴリアーカイブの呼び出したい部分で、<? include("sitemenu.php");?>と記述すれば、そこにsitemenu.phpが組み込まれるのですよ。メニューを変更したいとき(例えば掲示板のURLが変わった時など)には、sidemenu.phpだけを修正すればよいので、複数テンプレートを修正するよりもメインテナンスは断然やりやすいです。うちみたいにサイト名がコロコロ変わるようなところは、ヘッダやフッタをモジュール化しておくとよいですね。

かようにして便利ぃなPHPですが、制約がないでもない。PHPをサーバに認識させるには、ファイルの拡張子を.phpにしなければならないのです。というわけで、PHPを使用するファイルの拡張子をすべて.phpに変更です。インデックスページはいいのです。index.htmlが、index.phpになったとしても、http://www.mandarin-orange.net/あてのアクセスについては、index.phpを読み込んでもらえます。問題はPermaLinkですよ。going after mandarinは、超便利系Tips100連発サイトなので、個別のページへのリンクがたくさんあると考えられるのですね(妄想)。だから、安易にファイル名を変更できないのですよ。リンク切れになってしまいますので。超便利系なのにリンク切れなんて、インターネットの罠ですよ。不正アクセス禁止法ですよ。墾田永年私財法なんですよ。

まぁ法律談儀はおいといて。

いずれにせよリンク切れは困るので、ググったりグーグったりしているうちに、.htaccessなるものに行き着いたのです。フタクセスと読みます。まぁたぶん古代ギリシャの哲人だと思われるのですがこの人が何をしてくれるかというと、いろいろですよ。アクセス制限(気に入らないやつは売り飛ばす)とか、404 not found(オリンピックでスパルタ教育)とかですよ。詳細は割愛しますので、「フタクセス」でグーグってください(芳しい結果が得られなかったとしても悪いのはグーグリであって私ではありませんよ念のため)。

そのフタクセスの機能のひとつに自動転送があるのですね。つまり自動で転送してくれるのです。英語で言うとオート転送です。すみません。正味の話、htaccessでグルグっていただければ、かなり詳しい解説ページがいろいろ検出されます。もうこんな便利なものがあったなんて。今まで何をやっていたのか私は。ブラウザのURL欄が自動的に置き換えられるのはこれだったのですね。

拡張子を.phpにするついでに、ファイル名を「エントリID.html」(デフォルト)から、「投稿年月日.php」に変更。これで、インポート及びエクスポートしたときに、ファイル名が変わってしまう問題を回避。カテゴリアーカイブも「カテゴリラベル.html」(デフォルト)から「カテゴリID.php」に変更して、カテゴリラベルに日本語が使えない問題を回避。12ヶ月ほど前の自分に教えてやりたい。

てな具合に、隠れた部分でちょとずつパワーアップしております。こういうところが後々効いてくるのです、たぶん。本当に大事なものは目に見えないんだって、うわばみに飲み込まれた象も言ってましたしね。