Php 在Linux(基本操作系统)中,Codeigniter路由不在welcome controller之外工作

Php 在Linux(基本操作系统)中,Codeigniter路由不在welcome controller之外工作,php,routes,codeigniter-3,Php,Routes,Codeigniter 3,我一直在使用从windows复制到linux的codeigniter应用程序。它100%在windows平台上工作,但当我尝试在linux机器上运行它(在基本操作系统上运行)时,除了默认控制器(欢迎)控制器外,它开始为每个控制器提供404错误。我编辑了我的.htaccess,使其看起来像这个,但似乎不起作用 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond

我一直在使用从windows复制到linux的codeigniter应用程序。它100%在windows平台上工作,但当我尝试在linux机器上运行它(在基本操作系统上运行)时,除了默认控制器(欢迎)控制器外,它开始为每个控制器提供404错误。我编辑了我的.htaccess,使其看起来像这个,但似乎不起作用

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L]
我已经试着在互联网上搜索,试着玩我的手机,但同样的事情发生了

这是我的控制器和路由

Home Controller.php

    <?php
defined('BASEPATH') OR exit('No direct script access allowed');

class home extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
    }


    public function index()
    {
        $this->load->view('main_page');
    }
}

将我的控制器的名称更改为大写第一个字母就像一个符咒!我没有注意到它在文档中

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

$route['default_controller'] = 'home';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;