未找到Codeigniter 1.7.2 404页面

时间:2016-11-21 18:02:02

标签: php codeigniter

我一直在寻找并尝试了几种不同的方法来解决这个问题......但到目前为止还没有任何工作。我刚刚将一个网站上传到我的服务器,经过所有必要的更改后,它返回了以下错误 - 我以前从未见过。

This is the screen shot when I first uploaded the files online...

嗯,经过一些测试和研究,我已经改变了我的控制器的名称大写 - 和模型 - 以及" php"页面的一部分停止显示。

这是我的设置:

FOLDER :网站位于文件夹/ site /

application/
favicon/
system/
index.php
.htaccess
robots.txt

CONTROLLER:我已经测试过更改为CI_Controller - 即使我正在使用CI 1.7.2 - 并且__construct()...没有工作< / p>

class Home extends Controller
{

    // SET LAYOUT DEFAULT
    public $layout = 'default';

    // SET TITLE DEFAULT
    public $title = '';

    // SET CSS DEFAULT
    public $css = array('scripts/fancybox/jquery.fancybox');

    // SET JAVASCRIPT DEFAULT
    public $js = array('scripts/fancybox/jquery.fancybox.pack');

    function Home () {

        parent :: Controller();

        // LOAD Libraries
        $this->load->library(array('createdate','minitextile','showimages'));

        // LOAD Models
        $this->load->model('site_model');
    }

    function index () {

        $data['website_info']   = $this->config->item('w_infos');
        // LOAD VIEWS
        $this->load->view ('include/home_view', $data);
    }
}

CONFIG - 我只在这里放了一个基本的...

$config['base_url'] = "http://domain.com/site/";

$config['index_page'] = "";

$config['uri_protocol'] = "REQUEST_URI"; // Tested with AUTO, didn't work

$config['enable_hooks'] = TRUE;

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

$config['enable_query_strings'] = FALSE;
$config['controller_trigger']   = 'c';
$config['function_trigger']     = 'm';
$config['directory_trigger']    = 'd';

HTACCESS - 文件位于文件夹/ site /

<IfModule mod_rewrite.c>

    RewriteEngine on
    RewriteBase /site/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]

</IfModule>

<IfModule !mod_rewrite.c>
    # Without mod_rewrite, route 404's to the front controller
    ErrorDocument 404 /index.php
</IfModule>

途径:

$route['default_controller'] = "home";

我的日志: 控制器名称更改后

DEBUG - 2016-11-21 15:54:22 --> Config Class Initialized
DEBUG - 2016-11-21 15:54:22 --> Hooks Class Initialized
DEBUG - 2016-11-21 15:54:22 --> URI Class Initialized
ERROR - 2016-11-21 15:54:22 --> 404 Page Not Found --> home

在更改名称之前(对于上限),它是这样的:

DEBUG - 2016-11-21 14:08:28 --> Config Class Initialized
DEBUG - 2016-11-21 14:08:28 --> Hooks Class Initialized
DEBUG - 2016-11-21 14:08:28 --> URI Class Initialized
DEBUG - 2016-11-21 14:08:28 --> No URI present. Default controller set.
DEBUG - 2016-11-21 14:08:28 --> Router Class Initialized
DEBUG - 2016-11-21 14:08:28 --> Output Class Initialized
DEBUG - 2016-11-21 14:08:28 --> Input Class Initialized
DEBUG - 2016-11-21 14:08:28 --> Global POST and COOKIE data sanitized
DEBUG - 2016-11-21 14:08:28 --> Language Class Initialized
ERROR - 2016-11-21 14:08:28 --> 404 Page Not Found --> home/index

我知道我是新人,并且在这个问题上有很多帖子......我只是在做了一些(很多)测试我的自我之后才问 - 至少就我的知识而言去:D我一直在使用这个CI版本并设置了一段时间 - 并且意味着升级到CI 3 - 我已经测试/改变了我能想象到的并且面对许多不同主机/服务器的一切我仍然找不到解决方法。

2 个答案:

答案 0 :(得分:1)

可能是因为

function Home () {

    parent :: Controller();

    // LOAD Libraries
    $this->load->library(array('createdate','minitextile','showimages'));

    // LOAD Models
    $this->load->model('site_model');
}

应为http://www.codeigniter.com/user_guide/general/controllers.html#class-constructors

function __construct() {

    parent::__construct();

    // LOAD Libraries
    $this->load->library(array('createdate','minitextile','showimages'));

    // LOAD Models
    $this->load->model('site_model');
}

在升级Home.php时,请确保您的文件名也正确,只有首字母大写。正如此处http://www.codeigniter.com/user_guide/general/styleguide.html#file-naming

所述

答案 1 :(得分:0)

想出来!感谢您的帮助......但这是PHP配置上的一个问题... short_open_tag未在服务器上激活......我花了一段时间才看到它! :p所以提示:检查一些php配置。