印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
MovableType 拡張子を変更せずに MT を PHP 化

Movable Type を PHP 化する。とは言っても,単に *.html ファイルを PHP としてパースさせるだけである。拡張子 .html の変更は行わない。

■ ■ ■

Movable Type を PHP 化したい。すなわち,再構築した HTML ドキュメントに含まれる <?php ... ?> を PHP のコードとして処理させたいということである。

Movable Type が再構築で生成するファイルのデフォルトの拡張子は .html である。すでに沢山の記事があるので,これらのファイルも PHP 化の影響を受けることになる。MT を PHP 化するには2通りの方法が考えられる。

  • 拡張子を .php にして,過去の記事 ??????.html を ??????.php にリダイレクトする
  • 拡張子を .html のまま変更しない

拡張子を変更してリダイレクトする方法を多く見かけるが,手間を考えると,拡張子を変更しない方が有利。これは次のようにして実現できる。

再構築先のディレクトリにある .htaccess ファイルに,次の記述を追加する (.htaccess ファイルがなければ新規に作成)。

AddType application/x-httpd-php .html

これで完了である。動作確認は,index.html などの適当なファイルに

<?php echo 'php'; ?>

と書いて「php」と表示されるかを見ればよい。MT の PHP 化は,記事を構成する部分をモジュール化して,そのモジュールを PHP で読み込むことで,初めてご利益がある。モジュール化には地味な作業が必要になる。

さてここからは,思い通りに動作しない話。Apacheのチューニング によれば,.htaccess で設定するよりも,httpd.conf で設定した方がパフォーマンスが上がるとある。そこで,PHP5 用に用意した AddType ディレクティブに .html を追加することにした(nlog(n): PHP5 用に httpd.conf を書き換える)。

<IfModule mod_php5.c>
  AddType application/x-httpd-php .php5 .php4 .php3 .phtml .php .html
  AddType application/x-httpd-php-source .phps
</IfModule>

そして,Apache を再起動したが,<?php ... ?> は PHP のコードとしては処理されず,ソースにはコードがそのまま残ってしまっていた。何か間違っているのだろうか?

Posted by n at 2006-01-05 01:56 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?