Страница Codeigniter не найдена - переход на сервер Live - PullRequest
0 голосов
/ 03 сентября 2018

Я загружал свой код, основанный на CI, на действующий веб-сайт, и он продолжает получать ошибку 404.

Веб-структура выглядит так:

web
  -Application
  -Assets
  -Cache
  -..so on
index.php

Вот мой файл Application / Config / Routes.php:

$route['default_controller'] = 'H';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

Это мой контроллер H:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class H extends CI_Controller {

     function __construct(){
        parent::__construct();
        if(empty($this->session->userdata("userData")['id'])) redirect('/login');

    }

    public function index()
    {
        $data = array();
        if(isset($_GET['guid'])){
            $data['post'] = getListPost($_GET['guid']);
        }else{
            $data['post'] = getStickyPost();
        }
        $this->load->view('partials/header');
        $this->load->view('home',$data);
        $this->load->view('partials/sidebar-home');
        $this->load->view('partials/footer');
    }
    public function materi()
    {
        $this->load->view('partials/header');
        $this->load->view('management/post/lists');
        $this->load->view('partials/footer');
    }
}

А это мой контроллер входа в систему:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login extends CI_Controller {
    public function index($slug="")
    {
        if(isset($_POST['username'])){
            $cek = $this->checkLogin($_POST['username'], $_POST['password']);
            if($cek){
                $newdata = array("userData"=>array(
                    'name'  => $cek[0]['nama'],
                    'id'  => $cek[0]['id'],
                    'nip'  => $cek[0]['nip'],
                    'jabatan'  => $cek[0]['jabatan'],
                    'unit_kerja'  => $cek[0]['unit_kerja'],
                    'foto'  => $cek[0]['foto'],
                    'hak_akses'  => ($cek[0]['hak_akses_knowledge_management']=="")?"pengguna":$cek[0]['hak_akses_knowledge_management'],
                    'unit_kerja_atasan'  => $cek[0]['unit_kerja_atasan'],
                    'email'     => $_POST['username'],
                    'logged_in' => TRUE));

                $this->session->set_userdata($newdata);
                redirect('/');
            }else{
                $this->session->set_flashdata('login_status','false'); 
                redirect('/login');
            }   
        }
        // $this->load->view('partials/header');
        // $this->load->view('partials/login');
        // $this->load->view('partials/footer');
        $this->load->view('partials/single_login');
    }

    public function logout(){
        $this->session->sess_destroy();
        redirect('/');
    }

    public function newlogin(){
        $this->load->view('partials/single_login');
    }

    function checkLogin($email,$password){
        $this->db->where("nip",$email);
        $this->db->where("password",$password);
        $query  = $this->db->get("data_pegawai"); 
        return $query->result_array();

    }

}

Когда я изменяю маршруты по умолчанию, это работает, так или иначе, когда я возвращаюсь к 'H', он продолжает получать ошибку 404.

Это структура папки представлений:

management
    infografis
    post
    ebook
partials
    header.php
    single_login.php
    footer.php
    sidebar-home.php
    login.php
category
    infografis.php
    ebook.php
errors
home.php
post.php
welcome_message.php

1 Ответ

0 голосов
/ 03 сентября 2018

Ожидается, что маршруты будут в нижнем регистре, даже если имена файлов контроллера и имена классов начинаются с заглавной буквы.

Итак, H.php, class H extends CI_Controller правильно написаны заглавными буквами. Однако $route['default_controller'] должно быть присвоено значение в нижнем регистре.

Попробуйте использовать $route['default_controller'] = 'h'; вместо 'H', и вы должны начать работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...