プロフィールページの URL を最適化する
最終更新日: 2009.02.25
モーションブログや、コミュニティサイトから Movable Type に登録したユーザーは、それぞれプロフィールページを持ちます。そのユーザーが投稿したコメントや、メンバーリストなどからユーザーのプロフィールページにアクセスするためのリンクを作成するには、次のようにします。
<a href="<$mt:CGIPath$><$mt:CommunityScript$>?__mode=view&id=<$mt:CommenterID$>">
<mt:CommenterName>
</a>
<a href="<$mt:CGIPath$><$mt:CommunityScript$>?__mode=view&id=<$mt:AuthorID$>">
<$mt:AuthorName$>
</a>
サンプル01 と サンプル02 のテンプレートはどちらもプロフィールページへのリンクを作成するものですが、出力される URL からそれらの役割を読みとることは困難です。これを最適化するには Apache サーバで利用できる簡単な Rewrite Rules を利用します。例えば、次のようなプロフィールページへのリンクを最適化してみます。
http://www.example.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1
この URL の id=1 という部分はユーザーの ID を示します。この部分をユーザー名にしても、プロフィールページにアクセスできます。
http://www.example.com/cgi-bin/mt/mt-cp.cgi?__mode=view&username=kaminogoya
このユーザー名を使ったプロフィールページの URL を次のように最適化します。
http://www.example.com/profiles/kaminogoya
最適化するには .htaccess ファイルに、RewriteRule を追加します。
RewriteRule ^/profiles/(.*)$ /cgi-bin/mt/mt-cp.cgi?__mode=view&username=$1 [P,L]
この変更を行ったあと、サンプル01 と サンプル02 のテンプレートは次のように変更します。
<a href="<$mt:BlogURL$>profile/<$mt:CommenterName$>">
<mt:CommenterName>
</a>
<a href="<$mt:BlogURL$>profile/<$mt:AuthorName$>">
<$mt:AuthorName$>
</a>
サンプル01とサンプル03のテンプレートはコメントリストなどで、サンプル03とサンプル04は、ユーザー一覧などで使用するテンプレートです。