Routes in Codeigniter - 404 Page Not Found

為{幸葍}努か 提交于 2019-12-01 04:14:52

问题


Can someone tell me, where the issue is ??

This is my controller

class Support extends CI_Controller {
    public function __construct()
    {
        parent::__construct();
        $this->load->model('support_model');
        $urlarray = array("index","delete");
        if(!in_array($this->uri->segment(2),$urlarray)){
            $this->viewticket($this->uri->segment(2));
        }
    }

    public function viewticket($id){
        if(!empty($id)){
            $this->load->view('templates/logged_header');       
            $this->load->view('support/view');
            $this->load->view('templates/footer');
        }
    }
}

Here is my routes.php

$route['default_controller'] = "welcome";
$route['benefits'] = 'welcome/benefits';
$route['faqs'] = 'welcome/faqs';
$route['distributors'] = 'welcome/distributors';
$route['contact'] = 'welcome/contact';
$route['purchase'] = 'welcome/purchase';

//login routes
$route['login'] = 'login/index';
$route['logout'] = 'login/logout';

$route['404_override'] = '';

localhost/ciproj/support/hello-world gives me 404 Page Not Found error

If I use exit; after $this->load->view('templates/footer');, the page is showing me blank page.

I don't have anything in routes related to support and every other method is working Is there anything that i'm missing in routes ??

Thanks for the help.


回答1:


Judging the title, first of all check if your server is running PHP using CGI/FastCGI or not (you could simply check that by phpinfo()).

If so, change the following in config.php:

$config['uri_protocol'] = "REQUEST_URI";

Back to the topic, you could achieve that by using the single-line route below within your routes.php file:

$route['support/(?!index)(?!delete)(:any)'] = "support/viewticket/$1";

And remove these lines from your __construct method:

$urlarray = array("index","delete");
if(!in_array($this->uri->segment(2),$urlarray)){
    $this->viewticket($this->uri->segment(2));
}

Let me know how it works.



来源:https://stackoverflow.com/questions/18166496/routes-in-codeigniter-404-page-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!