我知道有這麼多帖子認爲這個問題。我嘗試了一切,但沒有成功。Codeigniter調用函數在沒有index.php的控制器中
我在我的windows 10機器上使用xampp v3.2.2。在我的htdocs中,我有一個名爲mysite的項目。在那裏我有codeigniter 3.0.3。
的config.php
$config['base_url'] = 'http://localhost/mysite/';
$config['index_page'] = '';
routes.php文件
$route['default_controller'] = 'CI_home';
控制器CI_home.php:
class CI_home extends CI_Controller{
function __construct() {
parent::__construct();
}
public function index($lang = ''){
$this->load->helper('url');
$this->load->helper('language');
$this->lang->load($lang, $lang);
$this->load->view('view_home');
}
}
當我調用http://localhost/mysite
,頁面被正確顯示。
問題是,當我嘗試http://localhost/mysite/en
或http://localhost/mysite/index/en
我從xampp收到404。
但是,如果我嘗試http://localhost/mysite/index.php/CI_home/index/en
它工作正常。
我做錯了什麼?我如何刪除「CI_home/index」?
http://localhost/mysite/.htaccess:
的.htaccess
RewriteEngine On
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
如果啓用mod_rewrite的我已經選中。
請幫幫我!
由於提前, yab86
添加到您的route.php'$路線[ '(:任何)'] = 'CI_home/$ 1';' – MAZux
謝謝MAZux。我試過了,但沒有改變。 – yab86
嘗試添加索引方法,試試:'$ route ['(:any)'] ='CI_home/index/$ 1';' – MAZux