$route['written-qb/(:any)/(:any)/(:any)'] does not work.
P粉155832941
P粉155832941 2023-07-30 19:03:57
0
1
585

When I use uri segment 2 and 3, it works, but when I add uri segment 4, it doesn't work.

The URL should look like this... http://localhost/maruf/written-qb/bcs/44th-bcs-english/how-has-the-phrase-digital-detox-been- explained-in-the-passage?

But it shows up as... http://localhost/maruf/written-qb/bcs/how-has-the-phrase-digital-detox-been-explained-in-the- passage? And both URLs show 404.

Here are my routing settings.


$route['written-qb/(:num)'] = 'written-qb'; //works $route['written-qb/(:any)/(:any)'] = 'written-qb/written_qb_details/$1/$2'; //works $route['written-qb/(:any)/(:any)/(:any)'] = 'written-qb/written_qb_answer/$1/$2/$3'; //does not work

My controller is...

public function index(){ $data['qb_list'] = $this->Question_bank_model->get_qb_with_category(FALSE); //footer data $data['main_content'] = 'written_qb'; $this->load->view('include/template',$data); } // works fine public function written_qb_details($category, $slug = NULL){ $config['uri_segment'] = 2; $slug = $this->uri->segment(3); //data $data['qb_list'] = $this->Question_bank_model->get_qb_with_category(FALSE); $data['qb_info'] = $this->Question_bank_model->get_qb_details($slug, $config['uri_segment']); if(empty($data['qb_info'])){ show_404(); } $data['url_slug'] = $data['qb_info']['qb_exam_slug']; $data['meta_title'] = $data['qb_info']['qb_exam']; $data['meta_description'] = $data['qb_info']['qb_exam_post_meta']; $data['meta_keywords'] = $data['qb_info']['qb_exam_post_tags']; //view $data['main_content'] = 'written_qb_details'; $this->load->view('include/template',$data); } // works fine public function written_qb_answer($slug = NULL, $slug2 = NULL){ $config['uri_segment'] = 2; $slug = $this->uri->segment(3); $slug2 = $this->uri->segment(4); //data $data['qb_info'] = $this->Question_bank_model->get_qb_answer_details($slug, $slug2, $config['uri_segment']); if(empty($data['qb_info'])){ show_404(); } $data['url_slug'] = $data['qb_info']['qb_exam_question_slug']; $data['meta_title'] = $data['qb_info']['qb_exam_question']; $data['meta_description'] = $data['qb_info']['qb_exam_answer_meta']; $data['meta_keywords'] = $data['qb_info']['qb_exam_answer_tags']; //view $data['main_content'] = 'answer'; $this->load->view('include/template',$data); }// it does not work

而我的模型是...

public function get_qb_details($slug = FALSE){ if($slug === FALSE){ $this->db->order_by('qb_post.qb_exam_slug', 'DESC'); $this->db->join('qb_category', 'qb_category.qb_category_name_slug = qb_post.qb_category_name_slug'); $this->db->where('qb_exam_active',1); $query = $this->db->get('qb_post'); return $query->result_array(); } $query = $this->db->get_where('qb_post', array('qb_exam_slug' => $slug)); return $query->row_array(); } public function get_qb_answer_details($slug2 = FALSE){ if($slug2 === FALSE){ $this->db->where('qb_exam_answer_active',1); $query = $this->db->get('qb_exam_ans'); return $query->result_array(); } $query = $this->db->get_where('qb_exam_ans', array('qb_exam_question_slug' => $slug2)); return $query->row_array(); }

在控制器"written_qb_answer"中,以及在路由$route['written-qb/(:any)/(:any)/(:any)'] = 'written-qb/written_qb_answer/$1/$2/$3';中,不起作用。它显示404错误。

P粉155832941
P粉155832941

reply all (1)
P粉323224129

Your routes overlap.

$route['written-qb/(:num)'] = 'written-qb'; //works $route['written-qb/(:any)/(:any)'] = 'written-qb/written_qb_details//'; //works $route['written-qb/(:any)/(:any)/(:any)'] = 'written-qb/written_qb_answer///'; //does not work

Please see the comments in the documentation:
Comment 1:
Comment 2:
Comment 3:

The route is not a filter, when you use (:any) it means Any content! Why does the first and second one work? Because you check for a number first, anything not caught by the first will be caught by the second, which means the third will never work. It's like if...else...rather than if...else if...else...

    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!