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

标签 php .htaccess codeigniter

正如标题所说,我已经搜索了很多,尝试了一些修复,但它仍然无法在在线服务器上运行。在网上,我一直收到 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_protocol 更改为所有其他可能的协议(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');
    }
}

最佳答案

我发现您应该以大写字母作为第一个字母来调用您的 Controller 。改变

main.php > Main.php

class main extends CI_Controller > class Main extends CI_Controller

帮我解决了问题

关于php - Codeigniter 项目在本地工作但不在线 - 找不到 404 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28364963/

相关文章:

php - 如何根据查询的结果执行/返回查询的一部分(使用 Eloquent 或原始 SQL)?

php - 如何整合 Wordpress 和 bbPress?

php - Jquery 标记处理程序

javascript - .htaccess 文件扩展名移除器代码破坏网站表单

php - Codeigniter 运行 mysql 查询并回显返回行数

javascript - 如何使用按钮从外部激活导航选项卡?

php - 如果使用 PHP,则 CSS 不适用

php - 使用php向上/向下移动MySQL行的位置

php - HTAccess-Mod_rewrite

php - 使用 .htaccess 和 Android 应用程序连接到 php 页面