当我在实时服务器上传我完全正常工作的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";
}
}
?>
答案 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:
$ 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;