2012-02-25 32 views
0

我有一個CodeIgniter安裝2套路由器:一個用於靜態頁面,一個用於模塊。CodeIgniter:當前路由給404和一個空白頁

靜態正在努力的路線:

$route['default_controller'] = 'pages/view'; 
$route['(:any)'] = 'pages/view/$1'; 

但這個模塊會同時顯示404路,當我走在它的索引和一個空白頁,如果我去任何其子頁面。

$route['module/(:any)']    = 'module/index/$1'; 
$route['module/(:any)/(:any)']  = 'module/index/$1/$2'; 
$route['module/(:any)/(:any)/(:any)'] = 'module/index/$1/$2/$3'; 

模塊文件在視圖/模塊中。

回答

0

的404錯誤模塊的索引部分固定有以下幾點:

$route['module'] = 'module/index'; 

空白頁是由於HMVC路徑錯誤,但我能夠找到相應的錯誤,將ini_set ('display_errors', '1');添加到index.php中找到它來自哪裏。

2

歐拉!!這是正常的。

這是因爲你創建了一個匹配的一切路線:

$route['(:any)'] = 'pages/view/$1'; 

有了這一個你抓住一切!所以它永遠不會達到其他規則。

作爲代碼點火器:「路線將按照它們定義的順序運行,較高的路線總是優先於較低的路線。」你應該把這個放在列表的最後。

這就是說,我認爲這不是一個好主意,以創建捕獲所有的路由....

+0

請問能解釋一下爲什麼你認爲這是一個不錯的主意,有一個'捕捉所有'路線? (只是好奇) – Andreas 2013-12-03 10:31:58