codeignitor 路由无法正常工作

时间:2021-03-18 07:08:21

标签: codeigniter

我构建了一个小型 CodeIgniter 应用程序,它在本地运行良好,但在服务器上设置时出现 404 错误。我尝试了不同的方法,但都没有奏效。任何人都可以请帮助我做错了什么。

以下是我的路线。

$route['translate_uri_dashes'] = FALSE;

$route['default_controller'] = 'Upload';
$route['save'] = 'Upload/save';
$route['upload'] = 'Upload/do_upload';

我的控制器如下,我的默认控制器只工作,其余的不起作用。


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

class Upload extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        $this->load->library("session");
        $this->load->database();
        //load Model
        $this->load->model('UploadModel');

    }

    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *        http://example.com/index.php/welcome
     *    - or -
     *        http://example.com/index.php/welcome/index
     *    - or -
     * Since this controller is set as the default controller in
     * config/routes.php, it's displayed at http://example.com/
     *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see https://codeigniter.com/user_guide/general/urls.html
     */
    public function index()
    {
        $sort = $this->input->post('sorted');
        $order = $this->input->post('sort_order');
        $this->session->set_flashdata('sort', $sort);
        $this->session->set_flashdata('order', $order);
        $this->data['pictures'] = $this->UploadModel->getPicturesData('h_image_data',array('status' => 'approved'), $sort, $order);

        $data['success'] = '';
        $this->load->view('header', $data);
        $this->load->view('pictures_view', $this->data);
        $this->load->view('footer');
    }
    
    public function save(){
        echo "Hello";
    }

   public function do_upload(){
echo "just remove the content to make the function clear";
}
}

2 个答案:

答案 0 :(得分:0)

不确定,但我认为字母大小写导致了问题。如果是 Linux 主机。以小写形式写入控制器名称。

$route['save'] = 'upload/save';
$route['upload'] = 'upload/do_upload';

答案 1 :(得分:0)

确保您的 .htaccess 文件位于根文件夹中