以下のように、Zend_Controller_Router_Route_Regexを使用する。
$front->getRouter()->addRoute( 'page', new Zend_Controller_Router_Route_Regex( 'page_(\d+)\.html', array( 'controller' => 'Index', 'action' => 'page' ), array( 1 => 'pageid' ) ) );
Actionからは以下のコードでマッチした部分を参照できる。
$this->_getParam('pageid');
但し、URLヘルパーやこのクラスのメソッドを使用する場合は第4引数が必要となる。
$front->getRouter()->addRoute( 'page', new Zend_Controller_Router_Route_Regex( 'page_(\d+)\.html', array( 'controller' => 'Index', 'action' => 'page' ), array( 1 => 'pageid' ), 'page_%d.html' ) );
参考
- http://framework.zend.com/manual/ja/zend.controller.router.html
- http://codezine.jp/article/detail/2226?p=2