2015-08-25 50 views
0

我在CakePHP中开发了一个大型网站。在开发时,我的管理网址是SITE_URL/admin。现在我的客户需要使用lc_admin。所以我更改core.php文件中的前缀,但是当我尝试访问任何页面时,它显示错误lc_admin_index()操作未定义。因为我的行为是与admin_index等。Cakephp admin url路由不起作用

为了解决这个问题,我想下面的代码

Router::connect('/lc_admin/:controller', array('action' => 'index', 'prefix' => 'admin', 'admin' => true)); 
Router::connect('/lc_admin/:controller/:action/*', array('prefix' => 'admin', 'admin' => true));` 

但随着我这旧的URL称为SITE_URL/admin还在努力。我想要新的URL可访问。

+0

Mponos,请问您知道解决方案吗? – Rakesh

回答

0

如果你想通过关键字直接路由路径,然后使用简单。 路径路径

Router::connect('/lc_admin',array('controller' => 'admin', 'action' => 'index')); 
+0

工作,但我想禁用/管理网址也。 – Rakesh

+0

在此它只会显示SITE_URL/lc_admin它不会显示控制器和操作 – Sudhir

0

,你应该给前缀相同的值,当你在你的网址有,请试试这个:

Router::connect('/lc_admin/:controller', array('prefix' => 'lc_admin', 'admin' => true)); 
Router::connect('/lc_admin/:controller/:action', array('prefix' => 'lc_admin', 'admin' => true)); 
Router::connect('/lc_admin/:controller/:action/*', array('prefix' => 'lc_admin', 'admin' => true)); 

也请注意,您的所有操作(被称为这个网址模式)应有前缀admin_或你应该相应地改变它。

+0

是否有任何解决方案,以便我不需要更改我的所有操作和.ctp文件前缀.. ?? 因为有太多的控制器和太多的功能,所以我不能将admin_index()更改为lc_admin_index()等等...... 当我使用上面的代码时,它显示我 '操作lc_admin_index未在控制器中定义... ' – Rakesh

+0

的问题是,当我打开'管理员/ controller_name'那么它的工作..但它不应该工作......它应该只有当/ lc_admin/controller_name' – Rakesh