我正在使用zend框架中的自定义路由。我成功管理了我的自定义路线 但我有一个问题,即我想在路由后根据某些预定义的条件转发请求,但我无法转发我的。我没有收到任何错误。
以下是路由配置文件的代码 -
; ---多个请求的路由
routes.resource.route = "resource/:moduleName/:fileType/"
routes.resource.defaults.controller = resources
routes.resource.defaults.module = 'default'
routes.resource.defaults.action = 'index'
; ---为单曲文件路由
routes.resourceCSS.type = "Zend_Controller_Router_Route_Regex"
routes.resourceCSS.route = "resource/(\w+)/([a-zA-z0-9]+\.([a-zA-z0-9]+))"
routes.resourceCSS.defaults.module = 'default'
routes.resourceCSS.defaults.controller = "resources"
routes.resourceCSS.defaults.action = checkfiletype
routes.resourceCSS.map.moduleName = 1
routes.resourceCSS.map.fileName = 2
routes.resourceCSS.map.fileType = 3
控制器名称为资源 Follwoing是控制器的代码: -
class ResourcesController extends Zend_Controller_Action
{
public function checkfiletypeAction()
{
var_dump($this->_getAllParams());
$moduleName = $this->getRequest()->getParam('moduleName');
$fileName = $this->getRequest()->getParam('fileName');
$fileType = strtolower($this->getRequest()->getParam('fileType'));
switch($fileType)
{
case 'css' :
echo $fileType ;
$this->_forward('css') ;
break ;
case 'js' :
$this->_forward('js') ;
break ;
default :
break;
}
die();
}
public function cssAction()
{
var_dump($this->_getAllParams());
die();
}
public function jsAction()
{
var_dump($this->_getAllParams());
die();
}
}
请帮帮我。
答案 0 :(得分:1)
您传入的是数字作为文件类型,并检查单词:
;ini file
routes.resourceCSS.map.fileType = 3
//controller
case 'css' :
更改大小写以匹配数字:
//controller
case '3' :