我有一個默認的控制器集:笨 - 默認控制器不加載自動
$route['default_controller'] = "Home";
然而,當我去http://mydomain.com/
,它說404頁面沒有找到,但要http://mydomain.com/Home
時,控制器加載罰款。可能是什麼問題呢?我一直在傷腦筋了好幾個小時。如果需要,我的htaccess是posted here。謝謝!
我有一個默認的控制器集:笨 - 默認控制器不加載自動
$route['default_controller'] = "Home";
然而,當我去http://mydomain.com/
,它說404頁面沒有找到,但要http://mydomain.com/Home
時,控制器加載罰款。可能是什麼問題呢?我一直在傷腦筋了好幾個小時。如果需要,我的htaccess是posted here。謝謝!
原來我的問題是有些無關。我不得不將我的默認控制器php文件重命名爲小寫字母,控制器類名稱變爲小寫字母,所有事情都開始工作。當CI查找默認控制器文件時,它將以小寫字母搜索文件;如果我將控制器文件命名爲「Home.php」而不是「home.php」,則CI會在Linux上忽略它(因爲Linux文件系統區分大小寫)。
你的路由沒有問題,問題在於你的htaccess文件。嘗試刪除
ErrorDocument 404 /index.php
謝謝,但它仍然執行相同的操作。默認控制器在顯式指定時工作,但在嘗試加載'http:// mydomain.com /'時不會加載。 – arao6
沒有從你的configs /控制器的任何其他信息&代碼,我建議檢查這些配置/ config.php文件(這兩個應該是在正常情況下是空的):
$config['base_url'] = '';
$config['index_page'] = '';
IIRC,我看到過類似的問題,它與這些配置變量有關。希望這可以幫助你一點。
這已經是設置。不過謝謝 – arao6
你可能有一些.htaccess的問題。 托盤是這樣的:
的.htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
的config.php
$config['base_url'] = 'www.homepage.com';
$config['index_page'] = '';
routes.php文件
$route['default_controller'] = "yourcontrollername";
$route['404_override'] = '';
您的.htaccess文件看起來不錯。嘗試使用** $ route ['default_controller'] =「home」; **這樣的小寫字母,看看它是否會產生差異 –