Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework Zend Framework-路由-除对现有控制器的请求外,所有请求都发送到一个控制器_Zend Framework_Routing - Fatal编程技术网

Zend framework Zend Framework-路由-除对现有控制器的请求外,所有请求都发送到一个控制器

Zend framework Zend Framework-路由-除对现有控制器的请求外,所有请求都发送到一个控制器,zend-framework,routing,Zend Framework,Routing,如何创建接受未测试控制器的所有请求,但保留现有控制器的请求的路由 此代码捕获所有路由 $route=new Zend_Controller_route_route_Regex(“(\w+”),数组('Controller'=>'index','action'=>'index'); $router->addRoute('index',$route) 我应该如何指定像/admin/*或/feedback/*这样的路由请求到现有的adminController或feedbackController?我

如何创建接受未测试控制器的所有请求,但保留现有控制器的请求的路由

此代码捕获所有路由

$route=new Zend_Controller_route_route_Regex(“(\w+”),数组('Controller'=>'index','action'=>'index'); $router->addRoute('index',$route)


我应该如何指定像/admin/*或/feedback/*这样的路由请求到现有的adminController或feedbackController?

我只找到了一种方法——如果当前请求是关于管理区域的,就不要添加路由

$request = $frontController->getRequest();               

if (!preg_match('/knownController/', $request->getRequestUri())){
    $router->addRoute('index', new Zend_Controller_Router_Route_Regex('(.*)', array('controller' => 'index', 'action' => 'index')));  
}    

您还可以使用ErrorController执行类似的操作。也许,如果你深入研究他们实现插件的方式,它将帮助你构建一个能够满足你需求的东西?

你不应该创建一个处理这个问题的途径。错误控制器将处理以下三种错误:

  • 控制器不存在
  • 行动不存在
  • 没有匹配的路线
查看有关如何正确使用它的文档:


你可能想看看这篇我问了类似问题的帖子