#codeigniter
#codeigniter
Вопрос:
Когда я загружаю свое полностью рабочее приложение codeigniter на живой сервер, оно не обнаружило никаких действий контроллера и cotroller.
Например:
мой локальный URL-адрес:
localhost/myapp/index.php/testcontroller/testaction
Да, это работает нормально, но когда я загружаю то же самое, и URL становится:
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";
}
}
?>
Комментарии:
1. Можете ли вы предоставить нам ссылку на сайт? Возможно, неправильно настроена установка или вы уверены, что загрузили все файлы?
2. dustyfeet.designers99.com/index.php/ajaxification/testme Вы можете это видеть dustyfeet.designers99.com работает ли мой base_url так: $config[‘base_url’] = ‘ dustyfeet.designers99.com ‘;
3. Другие контроллеры выглядят как работа, вы уверены, что есть этот контроллер? Пожалуйста, вставьте код этого контроллера, пожалуйста?
4. Да, он работает на моем локальном сервере
5. Весь код контроллера невозможен в этом комментарии
Ответ №1:
Я никогда не работал с Codeigniter, но если он похож на Kohana, вам нужно настроить base_url . [РЕДАКТИРОВАТЬ] Проверьте это сообщение с форума CodeIgniter: https://github.com/EllisLab/CodeIgniter/wiki/Automatic-configbase-url
Ответ №2:
Я думаю, что эта проблема может быть связана с некоторыми конфигурациями в папке конфигурации приложения routes.php :
-
$route[‘default_controller’] вы должны установить его на контроллер по умолчанию
config.php :
-
$config[‘base_url’] должно быть » если вы использовали правила htaccess для удаления index.php в URL-адресе, а также в файле .htaccess в каталоге приложения может быть причиной этой проблемы
Кроме того, имя файла контроллера должно совпадать с именем класса, который расширяет CI_Controller
Ответ №3:
В config.php добавьте base_url следующим образом; это автоматически приведет к получению URL-адреса:
$base = «http://».$_SERVER[‘HTTP_HOST’]; $base .= str_replace(базовое имя($_SERVER[‘SCRIPT_NAME’]),»»,$_SERVER[‘SCRIPT_NAME’]);
$config[‘base_url’] = $base;
Комментарии:
1. вау …. об этом спрашивали 9 лет назад, когда я был ребенком.
2. @Shahid Karimi Некоторые сообщения стареют, как вино. 😉