Codeigniter未加载我的视图(404找不到页面)

时间:2016-05-04 11:01:58

标签: php codeigniter

我有一个带索引功能的进程控制器(process.php),列出了登录用户支持的所有国家/地区。列出的国家/地区已超链接到base_url()/ process / $ CountryCode(例如http://localhost/baseurl/process/us/)。

process.php     

class Process extends MY_Controller {

public function __construct() {
    parent::__construct();

    if ($this->uri->segment(2) != NULL) {
        $this->country();
    }
}

public function index() {
    $this->load->model('users');
    $data['country'] = $this->users->getSupportedCountriesByUserID();
    $data['title'] = 'Process';
    $this->load->view('process_view', $data);
}

public function country() {
    include 'country.php';
    $country = new Country;
    $country->index();
}

country.php

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

class Country extends MY_Controller {

    public function __construct() {
        parent::__construct();
    }

    public function index() {

        $data['process'] = $this->getProcesses();
        $data['category'] = $this->getCategories();
        $data['title'] = "Process | " . strtoupper($this->uri->segment(2));
        /*
        echo '<pre>';
        print_r($data);
        echo '</pre>';
        */
        $this->load->view('welcome_message');
}

如果我取消注释print_r,我得到了我需要的数据,但是以数组形式,但输出下面有'404 Page Not Found'。它甚至没有加载'welcome_message'视图。我哪里做错了?请帮忙。感谢。

1 个答案:

答案 0 :(得分:0)

正确设置您的路线,因为CI目前没有路线,例如process/us。这意味着默认:流程控制器和我们方法。

Forexample:

$route['process/(:any)'] = 'process/country/$1

然后,您的国家/地区方法将us作为方法中的第一个参数。