CakePHPは、基本的にはファイル名などに厳格なルールがあるため、そのままではURLが非常に長く、複雑になってしまいます。
例)
http://example.com/controller/action/param1/param2/
これを、短くするのが「/app/config/」フォルダにある「routes.php」です。
基本的な使い方は、マニュアルにも記載があるのですが、結構難解でパラメータをURLを埋めこんで次のようにする方法が分かりにくいです。
例)
http://exmaple.com/sample1_1.html
これには「:」から始まるパラメータを利用します。例えば、Routesに次のように記述します。
Router::connect('/sample:id_:page.html', array('controller'=>'sample', 'action'=>'index'), array('id'=>'[0-9]+'));
これで先のURLを呼び出すと、「sample」コントローラーの「index」アクションに、「$this->params」で引き渡されます。最初の数字が「$this->params['id']」、次の数字が「$this->params['page']」と受け取ることができます。
また、connectメソッドの最後のパラメータではルールを設定することもできます。ここでは、idのパラメータに正規表現を設定して数字だけを許すようにしています。このようにすることで、わざわざパラメータの検査をしなくても、routesの設定だけで検査を不正をはじくことができます。便利です。