Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Movable Type 5 ManualMovable Type 5 マニュアル

プロフィールページの URL を最適化する

最終更新日: 2012.11.20

モーションブログや、コミュニティサイトから Movable Type に登録したユーザーは、それぞれプロフィールページを持ちます。そのユーザーが投稿したコメントや、メンバーリストなどからユーザーのプロフィールページにアクセスするためのリンクを作成するには、次のようにします。

<a href="<$mt:CGIPath$><$mt:CommunityScript$>?__mode=view&id=<$mt:CommenterID$>">
  <mt:CommenterName>
</a>

サンプル01: コメント投稿者用プロフィールページリンク

<a href="<$mt:CGIPath$><$mt:CommunityScript$>?__mode=view&id=<$mt:AuthorID$>">
  <$mt:AuthorName$>
</a>

サンプル02: 登録ユーザー用プロフィールページリンク

サンプル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>

サンプル03: Rewrite Rule 適用後のコメントタープロフィールへのリンク

<a href="<$mt:BlogURL$>profile/<$mt:AuthorName$>">
  <$mt:AuthorName$>
</a>

サンプル04: Rewrite Rule 適用後のユーザープロフィールへのリンク

サンプル01サンプル03のテンプレートはコメントリストなどで、サンプル03サンプル04は、ユーザー一覧などで使用するテンプレートです。