我試圖設置前綴路由,但只在某些控制器上,我想要一個單獨的管理員版本,但我似乎只能使它適用於全部或全部。CakePHP3在特定控制器上的前綴路由
$routes->prefix('admin', function ($routes) {
$routes->connect('/:controller/:action/*', [], ['routeClass' => 'Cake\Routing\Route\InflectedRoute']);
});
上面創建的每個控制器上的管理員前綴,這樣當我/管理範圍內/使用HTML幫助創建的任何控制器各個環節都有管理員前綴加入他們,甚至當我重定向到登錄它的前綴是/ admin /。我需要創建每個控制器的管理員版本或在每個鏈接上指定prefix => false。
我以爲這會是這樣的:
$routes->prefix('admin', function ($routes) {
$routes->connect('/projects/:action/*', ['controller' => 'Projects'], ['routeClass' => 'Cake\Routing\Route\InflectedRoute']);
});
但隨着/管理/項目中訪問一個頁面時,這個代碼我得到的錯誤:Error: A route matching "array ('controller' => 'Users', 'action' => 'login', 'prefix' => 'admin', 'plugin' => NULL, '_ext' => NULL,)" could not be found.
彷彿它正試圖重定向我登錄,即使如果我恢復代碼回頁面加載,我還沒有被註銷。
在此先感謝您的幫助。