以上一篇的那個配置繼續,現在來設置zend framework的路由器
進入application.ini文件,在[production]節添加下面內容
;=========== 路由器設置
;resources.router.routes.0.type = "Zend_Controller_Router_Route_Static"
resources.router.routes.0.route = "archive"
resources.router.routes.0.defaults.module = "front"
resources.router.routes.0.defaults.controller = "index"
resources.router.routes.0.defaults.action = "index"
resources.router.routes.1.type = "Zend_Controller_Router_Route_Regex"
resources.router.routes.1.route = "archive(\d+)-(\d+)/*"
resources.router.routes.1.defaults.module = "front"
resources.router.routes.1.defaults.controller = "index"
resources.router.routes.1.defaults.action = "index"
resources.router.routes.1.map.1 = "year"
resources.router.routes.1.map.2 = "day"
Zend_Controller_Router_Route_Static是靜態路由,路由設置成固定,上面注釋掉了,使用缺省路由,在這裡效果一樣
route是設置成的名字
module為指向的module名
controller為指向的controller名
action為指向的action名
第一個設置的地址為 http://localhost/archive/
映射到 http://localhost/index/index/
Zend_Controller_Router_Route_Regex是正則表達式路由類型
第二個設置為帶兩個數字參數的get傳值,並設置索引為year,day
如地址 http://localhost/archive2011-07/
映射到 http://localhost/index/index/?year=2011&day=07
在controller可以獲取參數的值
$getYear = $this->_request->get('year'); //2011
$getDay = $this->_request->get('day'); //07
結束