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

时间:2015-02-06 11:39:07

标签: php .htaccess codeigniter

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

目前这是我的配置。

  

的public_html /应用/配置/ config.php中:

$config['base_url'] = '';

$config['index_page'] = '';

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

我已尝试将base_url更改为网站域:http://junkfoodmountain.com/
尝试将index_page更改为index.php并且没有任何内容 尝试将uri_protocol更改为其他所有可能的协议。

  

的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:
做了全新的安装。这一切都是默认的。并且逐个添加文件我发现它与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');
    }
}

3 个答案:

答案 0 :(得分:2)

我发现你应该用大写字母作为第一个字母来控制你的控制器。改变

  

main.php&gt; Main.php

  

class main扩展CI_Controller&gt; class Main扩展了CI_Controller

为我解决了问题

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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