奇怪的codeigniter问题

时间:2011-10-01 08:47:52

标签: codeigniter

当我在实时服务器上传我完全正常工作的codeigniter应用程序时,它没有找到任何控制器和cotroller操作。

例如:

我的本​​地网址是:

localhost/myapp/index.php/testcontroller/testaction

是的,它运行正常,但是当我上传相同的内容并且网址变为:

livesite.com/index.php/testcontroller/testaction

它不起作用。显示无法控制器的错误。我想知道为什么它正在发生,所以它在本地服务器上工作。 请帮助

控制器代码:

<?php
class Ajaxification extends CI_Controller{
    public function __construct() {
        parent::__construct();
        $this->load->database();$this->load->model('MAjaxification');
    }
    public function Index(){

    }
    public function getUserDetail(){
        $this->load->model('MAjaxification');
        $uid = $_REQUEST['uid'];
        echo $this->MAjaxification->getUserdetail($uid);
       // echo "A test response";
    }
    public function getRandomUser(){
       $top = $_REQUEST['top'];
       $left = $_REQUEST['lef'];
      // $this->load->model('MAjaxification');
     //  print_r($this->MAjaxification->getRandomDonoers());*/
        $this->db->select("users.sno,users.full_name,users.userid,users.email,users.pic");
        $this->db->from('users');
        $this->db->join('donors','users.userid=donors.userid');
        $this->db->order_by('rand()');
        $this->db->limit(51);
        $res= $this->db->get();

        foreach ($res->result() as $row)
        {
          ?> <div style="border:0px solid black; width: 31px; height: 29px; float: left;">
        <a onclick="getUserinfoDetail('<?=$row->userid?>')" href="javascript:void(0)"><img width="40" height="40" src="../profile_pix/<?=$row->pic; ?>" /></a>
    </div><?php
        }

    }

    private function countUsers(){
        $this->db->select("users.sno,users.pic");
        $this->db->from('users');
        $this->db->join('donors','users.userid=donors.userid');
        $res = $this->db->get();
        return $res->num_rows();
    }
    function getRandUser($f=1,$t){
       $index = rand($f, $t);
       return $index;
    }
    public function testme(){
        echo "This is a test";
    }
}
?>

3 个答案:

答案 0 :(得分:2)

我从未使用Codeigniter,但如果它与Kohana类似,则必须设置base_url。 [编辑] 从CodeIgniter论坛查看此帖子:https://github.com/EllisLab/CodeIgniter/wiki/Automatic-configbase-url

答案 1 :(得分:1)

我认为这个问题可能与应用程序配置文件夹中的某些配置有关  routes.php:

  • $ route ['default_controller']你应该将它设置为默认控制器

    config.php:

  • 如果您使用htaccess规则删除URL中的index.php,则
  • $ config ['base_url']应为'' 并且app目录中的.htaccess文件可能会导致此问题

此外,控制器文件名必须与扩展CI_Controller的类的名称相同

答案 2 :(得分:1)

在 config.php 中添加 base_url 像这样;这将自动获取 URL:

$base = "http://".$_SERVER['HTTP_HOST']; $base .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

$config['base_url'] = $base;