Pagination URL

Posted on

インデックスページの分割は Movable Typemt-search.cgi をリクエストするときに template_id とか archive_type などのクエリを渡しす方法で実現したのだけれど、そのドキュメントへのコメントにもあるように、それだと URL がとても長くなってしまうので mod_rewrite を使って書きかえることにした。

RewriteEngine on
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9]+)$ /cgi-bin/mt-search.cgi?IncludeBlogs=2&template_id=123&limit=5&archive_type=Index&page=$1[L]

いろいろ悩んで /blog/page_number という URL にしたけれど、ページ番号の前に page をつけて /blog/page2 とするのとどっちがわかりやすいだろう。ページ番号のクエリだけは残して /blog/?page=2 とかのほうがいいかも。

2ページ目以降のページ URL もそのままだと長い mt-search.cgi の URL になってしまうので、単純に現在、次、前のページ番号だけを返すプラグインを作った。