Codeigniter项目在本地工作,但不在线-找不到404页面


Codeigniter project works local but not online - 404 page not found

正如标题所说,我已经搜索了很多,尝试了一些修复,但它仍然不能在在线服务器上工作。在线我不断收到404页面找不到。当它在当地运行时,它就像一个魅力。

目前这是我的配置。

public_html/application/config/config.php:

$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

我已尝试将base_url更改为站点域:http://junkfoodmountain.com/
尝试将index_page更改为index.php而不更改为任何内容
尝试将uri_procol更改为其他所有可能的协议。

public_html/.htaccess

Options -Indexes
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index'.php|assets|phpmyadmin|robots'.txt)
RewriteRule ^(.*)$ /index.php?/$1 [QSA,L]

尝试不使用.htaccess也不起作用

服务器是带有virtualmin的Ubuntu server 14.04 LTS。此上的所有配置都处于默认状态。当然,当你转到网站链接时,它会显示public_html 中的所有内容


更新1:
重新安装后。默认情况下一切正常。然后添加文件1乘1,我发现这与routes.php有关

$route['default_controller'] = 'welcome';

$route['default_controller'] = 'main/index';

这是main.php

<?php
class main extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->model('home_model');
    }
    public function index($page = 'home')
    {
        $menu['menu'] = $this->home_model->get_menu();
        $data['servers_table'] = $this->servers_table($this->home_model->get_servers());

        $this->load->view('templates/header', $menu);
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer');
    }
}

我发现您应该用大写字母作为第一个字母来调用控制器。更改

main.php>main.php

class main扩展CI_Controller>class main扩展CI_Coontroller

为我修复了

的问题

您可以尝试更改.htaccess文件上的值。有一次,我遇到了同样的问题,然后我可以用.htaccess解决它。我不记得我对它做了什么。我不能说的变化

我也遇到了同样的问题。我刚刚将控制器名称重命名为从Homehome的所有小写字符。