« 前の記事|ホーム|次の記事 »

☆Movable Type 4.23 で、「カテゴリ別ブログ記事リスト」をダイナミックパブリッシングにする

| コメント(0) | トラックバック(0)

 ブログ記事を投稿した時に、サーバーに極力負担をかけないために「カテゴリ別ブログ記事リスト」と「月別ブログ記事リスト」をPerl版ダイナミックパブリッシングにする方法です。

 この方法は、

に書かれています。

.htaccess ファイルで注意しなければならないのは、次の赤いところです(私のサーバーの場合です)。Perl版ダイナミックパブリッシングを初期化する前に、.htaccess ファイルがない場合は、以下のファイルをサーバーに置いておく。.htaccess ファイルがある場合は、以下を付け加えておく方が、エラーが出ず、すんなり初期化できるようです。

## %%%%%%% Movable Type generated this part; don't remove this line! %%%%%%%
# Disable fancy indexes, so mtview.php gets a chance...
# Options -Indexes +SymLinksIfOwnerMatch
<IfModule mod_rewrite.c>
# The mod_rewrite solution is the preferred way to invoke
# dynamic pages, because of its flexibility.

# Add mtview.php to the list of DirectoryIndex options, listing it last,
# so it is invoked only if the common choices aren't present...
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.htm default.htm default.html default.asp /skywalk/mt-dynamic.php
</IfModule>

RewriteEngine on

# don't serve mtview.php if the request is for a real directory
# (allows the DirectoryIndex lookup to function)
RewriteCond %{REQUEST_FILENAME} !-d

# don't serve mtview.php if the request is for a real file
# (allows the actual file to be served)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !\.(cgi|css|gif|jp*g|png)$
# anything else is handed to mtview.php for resolution
# passthrough query parameters
RewriteRule ^(.*)(\?.*)?$ /skywalk/mt-dynamic.php$2 [L,QSA]
</IfModule>

<IfModule !mod_rewrite.c>
# if mod_rewrite is unavailable, we forward any missing page
# or unresolved directory index requests to mtview
# if mtview.php can resolve the request, it returns a 200
# result code which prevents any 4xx error code from going
# to the server's access logs. However, an error will be
# reported in the error log file. If this is your only choice,
# and you want to suppress these messages, adding a "LogLevel crit"
# directive within your VirtualHost or root configuration for
# Apache will turn them off.
ErrorDocument 404 /skywalk/mt-dynamic.php
ErrorDocument 403 /skywalk/mt-dynamic.php
</IfModule>
## ******* Movable Type generated this part; don't remove this line! *******
 3行目の先頭に「#」を加えないと、私の場合は、インターナル・サーバー・エラーが出てしまい、全くブログ表示ができないので加えています。

 部分的に、私の場合は、「カテゴリ別ブログ記事リスト」と「月別ブログ記事リスト」をPerl版ダイナミックパブリッシングにしたわけですけど、このようにすることによって、サーバーに負担をかけずに再構築ができるようになりました。とにかく、私が借りているサーバーは常に負荷がかかっていて再構築が困難なサーバーでしたけど、これで、Movable Type 4.23 を使い続ける自信が持てました。

31616597.JPG藤本壱著 技術評論社刊『ブログ簡単パワーアップMovable Typeスーパーカスタマイズテクニック』

 実は、Perl版ダイナミックパブリッシングについての原理を、この本で知ることができます。この本は、Movable Type 3.x について書かれた本なのですが、第8-3章でPerl版ダイナミックパブリッシングの概要がわかります。また、注意点も書かれていますので参考になります。

この記事と同じカテゴリの記事

この記事と同じタグの記事

トラックバック(0)

トラックバックURL: http://flowerwind.sakura.ne.jp/mt5/mt-tb.cgi/173

コメントする