2014-11-05 49 views
0

我剛剛開始使用codeigniter,在我的小型項目的管理控制面板中工作。未找到404頁面當我嘗試編輯或刪除時發生錯誤。

在routes.php $route['admin/clients/update/(:any)'] = 'admin_clients/update/$1';它給我404錯誤。

如果我訪問$route['admin/clients/update'] = 'admin_clients/update';,它的加載編輯窗體。如果我通過url中的segement 4它給我404頁面未找到錯誤。

,這裏是我的htaccess沒有得到什麼確切的問題is.Please幫我

RewriteEngine on 
RewriteBase /testing_palace/ 
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

上午,反應可以理解

+0

如果這項工作/index.php/admin/clients/update/yourparams比你必須改變index_page在配置和使用site_url你從哪裏重定向更新鏈接 – krish 2014-11-05 05:02:21

+0

@krish甚至/index.php/admin/clients/更新/ yourparams它不起作用給我同樣的錯誤。 – 2014-11-05 05:19:01

+0

$ route ['admin/clients/update /(:num)'] ='admin_clients/update/$ 1'; 試試這個.. – 2014-11-05 05:24:19

回答

2

你需要檢查你的路由定義的順序。

例如

$route['admin/(:any)'] = 'admin/$1'; 
$route['admin/clients/(:any)'] = 'admin/clients/$1'; 
$route['admin/clients/update/(:any)'] = 'admin_clients/update/$1'; 

總是趕上第一規則,admin/clients/update/1將目光admin/clients/update/1正因爲如此,它可以給一個404錯誤。

但這樣的:

$route['admin/clients/update/(:any)'] = 'admin_clients/update/$1'; 
$route['admin/clients/(:any)'] = 'admin/clients/$1'; 
$route['admin/(:any)'] = 'admin/$1'; 

每一個規則將被檢查,直到一個有效的規則,所以admin/clients/update/1會重定向到admin_clients/update/1