【发布时间】:2015-04-28 07:33:46
【问题描述】:
我正在尝试设置前缀路由,但仅在某些控制器上我想要一个单独的管理版本,但我似乎只能使其适用于全部或全部。
$routes->prefix('admin', function ($routes) {
$routes->connect('/:controller/:action/*', [], ['routeClass' => 'Cake\Routing\Route\InflectedRoute']);
});
上面在每个控制器上创建了一个管理员前缀,这样当我在 /admin/ 中时,所有指向使用 HTML 帮助程序创建的任何控制器的链接都添加了管理员前缀,即使我被重定向到登录它也是前缀与 /admin/。我需要创建每个控制器的管理员版本或在每个链接前缀上指定=>false。
我以为会是这样的:
$routes->prefix('admin', function ($routes) {
$routes->connect('/projects/:action/*', ['controller' => 'Projects'], ['routeClass' => 'Cake\Routing\Route\InflectedRoute']);
});
但是在访问 /admin/projects 中的页面时使用此代码时出现错误:Error: A route matching "array ( 'controller' => 'Users', 'action' => 'login', 'prefix' => 'admin', 'plugin' => NULL, '_ext' => NULL, )" could not be found.
好像它试图将我重定向到登录,即使我将代码还原回页面加载并且我没有被注销。
提前感谢您的帮助。
【问题讨论】:
标签: routing cakephp-3.0