CodeIgniter”;找不到您请求的页面";错误


CodeIgniter "The page you requested was not found." error?

我的CodeIgniter有问题。我在互联网上查看了所有可能的解决方案,似乎对我的情况没有任何帮助。我不是一个大的专业人士,这是我第一次使用CodeIgniter,所以不要对我苛刻。

routes.php:

$route['default_controller'] = "page";
$route['404_override'] = '';
$route['(:num)'] = "page/index/$1";

page.php:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Page extends CI_Controller {
    public function index($id=null) {
        $this->load->model('Image','',TRUE);
        $this->load->model('Banner','',TRUE);
        $image = $this->Image->getImageById($id);
        if (empty($image)) {
            show_404();
        }
        //db table `banner` always have three rows
        $banners=$this->Banner->getBanners();
        $data=array();
        $data['image']=$image;
        $data['banner']=$banners;
        $this->load->view('page_index', $data);
    }
}

我读过你的问题。您在保存控制器时犯了错误。

它应该以资本形式保存,即Page.php,但您已保存为page.php

我想这会成功的!

您构造了父级吗?公共函数_construct(){父级::_construct();}

如果您在Windows上开发了应用程序,则可能没有将控制器和模型名称的第一个字符设置为capital character

/controllers/home.php/controllers/Home.php

在Linux上,文件名区分大小写。

注意:-这是一个可能的问题的解决方案。可能存在错误配置、服务器和路径变量的问题。

这听起来不像是Codeigner错误。它可能是您的Web服务器配置。您的机器上是否设置并配置了Web服务器和php服务器?您是否配置了.htaccess文件来替换"index.php"?

谢谢大家,问题是我在page.php中说过,如果数据库中没有图像,它将显示404页面:

if (empty($image)) {
    show_404();
}

我已经在数据库中添加了两个图像,现在它可以工作了。

我对codeigniter也很陌生。这就是我一开始会做的:

  1. 自动加载数据库并配置database.php文件
  2. 自动加载帮助程序文件"url","file"
  3. 配置你的基本url"://yourhost/yourworkingfolder"(如果你是在本地主机上工作)
  4. 您需要传送您的页面。转到route.php,并给出您的默认控制器页面名称,如果它看起来比您的r有效很好,可以进一步完成额外的任务

如果我错了,请纠正我。我是代码点火器的新手。Thankx

如果您使用Unix服务器

,控制器将使用大写的第一个字母
相关文章: