2009年 09月 4日

MovableTypeのmt-search.cgiをPHP化する方法

MTを使っていて、テンプレートにPHPを使っていると、
ブログ検索を使った際にPHPの部分がそのまま表示されたり、正しく表示されません。
そのため、mt-search.cgi をPHPでラップしてやる必要があります。

ネットを探してもあまりスマートな方法が無かったので、
一番簡単且つ問題も起きなそうなコードを書いてみました。

<?php
error_reporting(E_ALL);
define('SEARCH_CGI', 'mt-search.cgi');
$cgi = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['SCRIPT_NAME']) . '/' . SEARCH_CGI;
$query = $_SERVER['QUERY_STRING'];
include $cgi . '?' . $query;
?>

これを mt-search.php とかで保存して、mt-search.cgiと同階層に設置します。
その後、mt-search.cgiを呼び出している部分を mt-search.phpに書き換えれば、
それだけでPHPをちゃんと読み込んだ検索結果画面が表示されます。

投稿者 ietomi : 2009年09月04日 19:21

このページのトップへ戻る