2012-01-17 124 views
1

我遇到了CI 2.02中404_override的問題。這是我的默認的控制器和控制裝置:路由問題404_override

$route['default_controller'] = "home/index_controller";  
$route['404_override'] = "misc/site_map"; 

這一行註釋掉給了我這個錯誤:

Unable to load your default controller. Please make sure the controller specified in your Routes.php file is valid.

但評論,我得到一個404錯誤。因此,重寫中的某些內容會導致問題。我只是不知道是什麼。我試過了各種MY_Router文件,他們沒有幫助。任何人有關於我如何解決這個問題的建議?

我把我的.htaccess文件作爲問題從服務器上刪除,然後嘗試訪問一個不存在的控制器:http://domain.com/index.php/doesnotexist。我仍然得到錯誤。

+0

我沒有看到你的代碼中的任何錯誤。請確保您正確給控制器名稱。 – 2012-01-19 08:52:08

回答

0

您忘記添加首次加載網站時將使用的默認控制器,您需要添加此網站的routes.php,這是您需要的,因此您會看到引發錯誤的原因。

$route['default_controller'] = 'index'; // this will need to be changed to your default controller 
$route['404_override'] = 'misc/site_map'; 

編輯:

好吧,你必須確保你輸入要加載爲默認正確控制器的名稱,比如你在controllers文件夾中有home.php,你必須輸入home爲默認。或者,您可以定義您的home.php類文件中功能的段,例如home/function_name

+0

不,我確實有這個,我只是沒有在我的文章中包含它。 – sehummel 2012-01-17 19:09:21

+0

看到我編輯的帖子。 – MacMac 2012-01-17 19:51:49

+0

否則,我的默認控制器工作正常。只有在沒有找到我發現此錯誤的網頁上。默認的控制器是我的索引頁面,並且工作正常。 – sehummel 2012-01-17 20:12:29