Cakephp管理前缀路由

jexiocij  于 2022-11-11  发布在  PHP
关注(0)|答案(1)|浏览(171)

在我的Cakephp应用程序中,我希望有以下URL:
管理员/用户/:操作
我希望UsersController位于名为“admin”的控制器子文件夹中。我知道如何用Cake 3和4实现这一点,但在本例中,我正在处理一个遗留的Cake 2项目。我已经阅读了Cake 2书中关于路由器的章节,但它似乎通过使用单个主控制器将控制器操作前缀为“admin”来处理这一问题。
这不是我需要的,我正在寻找以下:

Controllers
     - [Admin]
          - UsersController
     - UsersContrller

即-两个控制器和子文件夹。
我可以按如下方式匹配路由,但我无法确定要使用的参数:

Router::connect(
    '/integrations/foo/:controller/:action/*',
    []
);

其中'integrations'是我的插件和'foo'是子文件夹。我有疑问,如果这是实际上可能在Cake 2。我发现一个老问题,从2013年说,子目录的控制器不再支持,但我不知道这是否是一个有效的声明。
CakePHP controllers and models in subdirectory
这是否需要在服务器级别通过重定向来完成?

bbuxkriu

bbuxkriu1#

在routes.php中,执行以下操作:

Router::connect('/admin',array('controller' => 'users', 'action' => 'login', 'admin' => true));

比如说!
这会将您重定向到:yoursite.com/admin
这样,您就可以使用admin文件夹中的控制器正常地遵循您的结构。
在我给出的例子中,它看起来像这样:admin/users/login.php

相关问题