我构建了一个小型 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";
}
}
答案 0 :(得分:0)
不确定,但我认为字母大小写导致了问题。如果是 Linux 主机。以小写形式写入控制器名称。
$route['save'] = 'upload/save';
$route['upload'] = 'upload/do_upload';
答案 1 :(得分:0)
确保您的 .htaccess 文件位于根文件夹中