未找到Codeigniter对象404 EasyPHP

时间:2015-10-16 09:10:16

标签: php apache codeigniter pagination easyphp

我遇到了使用codeigniter进行页面链接的问题,当从我的主屏幕导航到另一个名为Live的屏幕时,我收到以下错误:

  

找不到对象!

     

在此服务器上找不到请求的URL。关于的链接   引用页面似乎是错误的或过时的。请通知作者   关于错误的那个页面。

     

如果您认为这是服务器错误,请与网站管理员联系。

     

错误404

     

127.0.0.1 Apache / 2.4.7(Win32)PHP / 5.4.24

主屏幕链接:http://127.0.0.1/projects/ 公司名称 /index.php/home

我想要访问的屏幕链接:http://127.0.0.1/projects/ 公司名称 / home / v_Live

home.php控制器(底部):

class Home extends CI_Controller

{

public function __construct()

{

parent::__construct();

$this->load->helper('url');
$this->load->model('m_login');

}

public function index()

{

if($this->session->userdata('isLogin') == FALSE)

{

redirect('login/login_form');

}else

{

$this->load->model('m_login');
$user = $this->session->userdata('username');
$data['level'] = $this->session->userdata('level');
$data['user'] = $this->m_login->userData($user);
$this->load->view('home', $data);

}

--> function index () 

{ 


 function home (){
    $this->load->view("home");
    $this->load->view("v_Live");   
}

 function Live (){
    $this->load->view("home");
    $this->load->view("v_Live");    <----  
}    

}

}

}
?>

主页视图:

<nav>
    <ul>
        <li><a href="home.php">Home</a></li>
        <li>
            <a href="Cloud_Clients.html">Cloud Clients<span class="caret"></span></a>
            <div>
                <ul>
                    <li><a href="<?php echo base_url(); ?>home/v_Live">Live</a></li>
                    <li><a href="PreProduction.html">Pre-Production</a></li>
                    <li><a href="Clients.html">Client Versions</a></li>
                </ul>
            </div>
        </li>
        <li><a href="about.html">About</a></li>
        <li><a href="help.html">Help</a></li>
    </ul>
</nav>

v_Live屏幕视图:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Live</title>
</head>

<body>

<nav>
    <ul>
        <li><a href="home.php">Home</a></li>
        <li>
            <a href="Cloud_Clients.html">Cloud Clients<span class="caret"></span></a>
            <div>
                <ul>
                    <li><a href="<?php echo base_url(); ?>>home/v_Live">Live</a></li>
                    <li><a href="PreProduction.html">Pre-Production</a></li>
                    <li><a href="Clients.html">Client Versions</a></li>
                </ul>
            </div>
        </li>
        <li><a href="about.html">About</a></li>
        <li><a href="help.html">Help</a></li>
    </ul>
</nav>    

<table>
    <tr>
        <th>ID</th>
        <th>Client Name</th>
        <th>App Server</th>
        <th>Instance Name</th>
    </tr>
    <?php
        foreach($records as $row):
    ?>
    <tr>
        <td><?=$row->id?></td>
        <td><?=$row->Client Name?></td>
        <td><?=$row->App Server?></td>
        <td><?=$row->Instance Name?></td>
    </tr>
    <?php
        endforeach;
    ?>
    </table>
</body>

</html>

配置文件:

$config['base_url'] = 'http://127.0.0.1/projects/**companyname**/';

/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = 'index.php';

希望这足以提供帮助。

由于

1 个答案:

答案 0 :(得分:2)

如果您的codeigniter版本为3,则文件名应以大写字母开头。

接下来,您是否添加了.htaccess文件?如果没有使用index.php访问url。 或使用以下代码从url中删除index.php。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]

在root中添加名称为.htaccess的此文件。这有助于您删除网址中的index.php

然后移除index.php中的$config并制作$config['index_page'] = "";

并删除base_url()。 Codeigniter足以识别它。