# Zend_Controller_Router_Route_Static(日本語)

これまでの例では、すべて動的なルートを使用していました。 つまり、特定のパターンにマッチするものについてのルートです。 しかし、時には特定のルートを固定してしまい、 わざわざ正規表現エンジンを動かしたくない場合もあるでしょう。 そんなときには静的なルートを使用します。

    $route = new Zend_Controller_Router_Route_Static(
        'login',
        array('controller' => 'auth', 'action' => 'login')
    );
    $router->addRoute('login', $route);

上のルートは `http://domain.com/login` という URL にマッチし、`AuthController::loginAction()` にディスパッチされます。

## 警告: 静的なルートにはまともなデフォルトが必須

静的なルートは、URL の一部をリクエストオブジェクトへのパラメータとして渡すことはありません。 したがって、リクエストのディスパッチに必要なパラメータは すべてデフォルトでルートに渡すようにしておかなければなりません。 "controller" や "action" のデフォルト値を省略してしまうと予期せぬ結果を引き起こし、 リクエストがディスパッチ不能になってしまうでしょう。

一般に、以下のデフォルト値は常に渡すようにしておきましょう。

- controller

- action

- module (デフォルト以外の場合)

オプションで、起動時に "useDefaultControllerAlways" パラメータをフロントコントローラに渡すこともできます。

    $front->setParam('useDefaultControllerAlways', true);

しかし、これはあくまでも次善策であり、 デフォルトを明記しておくほうがおすすめです。