URL をきれいにする ================ 今のところ、ブログアプリケーションの様々なページをリンクしている URL は見栄えの悪いものです。 例えば、投稿を表示するページの URL は以下のようになっています: ~~~ /index.php?r=post/show&id=1&title=A+Test+Post ~~~ このセクションでは、これらの URL を見栄えの良い SEO フレンドリーなものにする方法を説明します。 目的は、アプリケーションで以下のような URL を使うことが出来るようにすることです: 1. `/index.php/posts/yii`: `yii` というタグを持つ記事の一覧を表示するページに導きます。 2. `/index.php/post/2/A+Test+Post`: ID が 2 であり、タイトルが `A Test Post` である記事の詳細を表示するページに導きます。 3. `/index.php/post/update?id=1`: ID が 1 である記事の更新を許可するページに導きます。 第二の URL の形式においては、URL に記事のタイトルを含めていることに着目して下さい。 これは主として URL を SEO フレンドリーにするためのものです。検索エンジンは、インデックス作成時に URL に含まれている単語も参照することがあると言われています。 目的を達するためには、[アプリケーション初期構成](http://www.yiiframework.com/doc/guide/ja/basics.application#sec-2) を下記のように修正します。 ~~~ [php] return array( ...... 'components'=>array( ...... 'urlManager'=>array( 'urlFormat'=>'path', 'rules'=>array( 'post//'=>'post/view', 'posts/'=>'post/index', '/'=>'/', ), ), ), ); ~~~ 上記において、[urlManager](http://www.yiiframework.com/doc/guide/ja/topics.url) コンポーネントの構成を変更し、`urlFormat` プロパティを `path` に設定し、一連の `rules` を追加しています。 `urlManager` はこの規則を使用して、私たちが希望する形式の URL を解釈し、かつ、生成します。例えば、第二の規則は、`/index.php/posts/yii` という URL が要求されたときには、`urlManager` がその要求を `post/index` という[ルート (route)](http://www.yiiframework.com/doc/guide/ja/basics.controller#sec-2) に送出し、`yii` という値を持つ `tag` という GET 引数を生成することを述べています。また一方では、`post/index` というルートと `tag` という引数で URL を生成する場合にも、`urlManager` コンポーネントはこの規則を使用して、私たちが希望する `/index.php/posts/yii` という URL を生成します。このような訳ですから、私たちは `urlManager` は双方向の URL マネージャであると言います。 `urlManager` コンポーネントは、URL から `index.php` を見えなくしたり、`.html` のような拡張子を URL に追加したりして、URL の見栄えを更に良くすることが出来ます。これらの機能は、アプリケーション初期構成の中で `urlManager` のさまざまなプロパティを構成することで、簡単に手に入れることが出来ます。詳細については、[ガイド](http://www.yiiframework.com/doc/guide/ja/topics.url) を参照して下さい。
$Id$