Perl版ダイナミック・パブリッシング(MT4.2用)

The blog of H.FujimotoさんのPerl版ダイナミック・パブリッシング(MT4.2用)を利用して、アーカイブテンプレートをダイナミックパブリッシングにする場合の覚書です。

注意点

.htaccessファイルの書き換えに失敗する

注意する点は、当該記事の記載の通りですが、特に8.の.htaccessファイルの確認にあるように、初期化の際に「.htaccessファイルの書き換えに失敗しました。」のメッセージが表示され、.htaccessファイルの作成に失敗することが多いです。その場合は手順に従い、.htaccessを手動で作成しアップロードします。
また、すでに.htaccessファイルがある場合上書きしてしまうので、あらかじめ.htaccessファイルをバックアップして、設定を加えてやります。

キャッシュを使うとエラー

「キャッシュを使う」にチェックをすると、次のようなエラーが出る場合は、

キャッシュの検索に失敗しました sql = select * from mt_dpcache where dpcache_uri = '/blog/index.php' and dpcache_blog_id = *(ブログidが入ります)

コメント欄にあるように、MySQLの場合はphpMyAdminから次ののSQLを実行して、mt_dpcacheテーブルを作ることで、キャッシュが使えるようになります。

ただし、SQLの実行前には必ずバックアップを取ってください。

CREATE TABLE IF NOT EXISTS `mt_dpcache` (
  `dpcache_id` int(11) NOT NULL AUTO_INCREMENT,
  `dpcache_blog_id` int(11) NOT NULL,
  `dpcache_modified_on` datetime NOT NULL,
  `dpcache_pagefile` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `dpcache_pagesize` int(11) NOT NULL,
  `dpcache_uri` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`dpcache_id`),
  KEY `mt_dpcache_modified_on` (`dpcache_modified_on`),
  KEY `mt_dpcache_blog_id` (`dpcache_blog_id`),
  KEY `mt_dpcache_pagefile` (`dpcache_pagefile`),
  KEY `mt_dpcache_uri` (`dpcache_uri`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;