2012-06-09 78 views
1

不靈關於笨routes.php文件:default_controller(在routes.php文件)生產

我們有以下用C項:\ WAMP \ WWW \程序\ CONFIG \ routes.php文件

$route['default_controller'] = 'latestC'; 
$route['404_override'] = 'latestC'; 

而latestC是我們的默認控制器。這裏default_controller沒有在生產中工作。如果我們刪除行$ route ['404_override'] ='latestC';從routes.php,我們無法達到主頁,而主要網址mozvo.com及其404一個404。基本上404_override是做我們的工作,而不是default_controller採取主頁上擊mozvo.com。請求由404_override控制器路由到主頁。

但是在localhost中,它完美地工作。在本地主機上,如果我們刪除404_controller,default_controller負責主要網址(mozvo.com,這裏是localhost),其他不支持的網址是404,這是正確的。但是在生產中,default_controller沒有正確地訪問主頁(mozvo.com),所以我們不得不使用404_override將默認請求發送到主頁。

附加信息 - 項在C:\ WAMP \ WWW \程序\ CONFIG \ config.php文件

$config['base_url'] = 'http://mozvo.com/'; 
$config['index_page'] = ''; 

回答

7

我敢打賭,你的問題是由於對文件區分大小寫。您的本地主機位於WAMP上 - Windows並不關心文件大小。

即latestC.php = latestc.php = LASTESTC.php

但在生產服務器上(我猜是LAMP) - 區分大小寫事情到此並

即latestC.php = latestc.php!= LASTESTC.php

您的所有控制器都必須是LIGNCASE for Codeigniter。因此,改變你的路線

$route['default_controller'] = 'latestc'; // all lowercase 
$route['404_override'] = 'latestc'; //all lowercase 

,並確保所有的文件都是小寫

+0

事實上,這就是問題所在。萬分感謝 !! –

+0

也爲我工作!謝謝! – arao6