[英]Codeigniter `No Input File Specified` & `404 Page Not Found` Errors when Live
我有一個基於codeiginiter 2.0.1建立的網站 (我自己的個人網站)。 我使用WAMP在本地構建了此應用程序,並且可以按本地方式100%運行。 我將此上傳到我的實時服務器,並且不斷收到“找不到404頁面”錯誤。 這個錯誤是通過我的Home-> Error方法而不是服務器來自codeigniter的,因此代碼點火器肯定可以正常工作。
這是我的路線配置。 如果我將404_override更改為“ Home”。 它會按原樣加載我的家庭控制器,但是當我轉到ANY頁面時,找不到404頁面。
$route['default_controller'] = 'Home';
$route['404_override'] = 'Home/Error';
我懷疑這可能與我的.htaccess和Codeigniter配置有關。
// Codeigniter Config.php - Note: My Hosting is with Godaddy. [CGI/FastCGI]
$config['index_page'] = 'index.php?';
// Tried Auto and All others, REQUEST_URI works fastest for me.
$config['uri_protocol'] = 'REQUEST_URI';
我的.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L]
我通過SO&Google嘗試了很多鏈接來解決此問題,下面重復嘗試了這些鏈接。
- 找不到CodeIgniter 404頁面,為什么?
- 現有控制器上的codeigniter 404
-http://codeigniter.com/forums/viewthread/60469/#297477
-http://codeigniter.com/wiki/Godaddy_Installaton_Tips
-其他
我敢肯定這與htaccess和mod_rewrite有關,有什么想法嗎?
$route['404_override'] = 'Home/Error'
更改為我的任何控制器,它們將按預期顯示和工作,但由於某些原因,它始終會拋出404頁面。
如果轉到: /index.php/home
我收到錯誤未No input file specified.
第一個控制器名稱應使用小寫字母,例如:
$route['default_controller'] = 'home';
那么您可以將index_page留空:
$config['index_page'] = '';
最后在.htaccess中,應該在基本路徑目錄中的index.php旁邊,您可以像這樣更改最后一行:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /home/index.php?$1 [L]
希望它能解決
找到了問題..
確保您的控制器文件名小寫 。
controllers/Home.php
不正確,這controllers/Home.php
了404頁面未找到錯誤。 controllers/home.php
是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.