2015-08-25 69 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